VC/MFC 编辑框里面字符串的存放方式

今天尝试了一下,从记事本复制粘贴数据进入编辑框,然后再对编辑框执行数据处理操作。
还是用GetAt()去获取字符串每个每个位置上的字符。开始由于对编辑框中的字符串存放格式不清楚,导致判断失误。
后来我自己重新编写了一段测试代码,打印出字符串中的存放方式:
 
void  CEditTestDlg :: OnBnClickedButton1 ( )
{
     // TODO: 
     UpdateData ( TRUE ) ;
     int  num  =  m_strNum1 . GetLength ( ) ;
     while ( num -- )
     {
     m_strNum2  +=  m_strNum1 . GetAt ( 0 ) ;
     if  ( '\r'  ==  m_strNum1 . GetAt ( 0 ))
     {
         m_strNum2  +=  _T ( "R" ) ;
         //m_strNum2 += '\r';
     }
     if  ( '\n'  ==  m_strNum1 . GetAt ( 0 ))
     {
         m_strNum2  +=  _T ( "N" ) ;
         //m_strNum2 += '\n';
     }
     m_strNum1  =  m_strNum1 . Right ( num ) ;
    
     }
     UpdateData ( FALSE ) ;
}
 
上面这是那段测试代码:
结果显示,编辑框中的字符串是这样存储的。
屏幕显示样子:
如:
32 54 67 87
54 89 67 23
09 67 34 67
实际存放形式:
 
32 54 67 87\r\n
54 89 67 23\r\n
09 67 34 67
\r:表示回车
\n:表示换行 
还有就是编辑框中没有响应WM_CAHR  ,WM_KEYDOWN ,WM_KEYUP的能力。
所以编辑框不支持,回车换行功能。
要实现该功能,需要在编辑框之前截获键盘消息,从而实现回车换行。
2013年8月19日22:44:23   by:陋室铭 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值