OnChar函数的中文处理问题,退格键时,怎么处理
CClientDC dc(this);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);
if (0x0d==nChar) //回车符的处理
{
m_strline.Empty();
m_ptOrigin.y+=tm.tmHeight;
}
else if (0x08==nChar) //退格符的处理
{
COLORREF clr=dc.SetTextColor(dc.GetBkColor());
dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strline);
m_strline=m_strline.Left(m_strline.GetLength()-1);
dc.SetTextColor(clr);
}
else
{
m_strline+=(WCHAR)nChar;
}
CSize sz=dc.GetTextExtent(m_strline);
CPoint pt;
pt.x=m_ptOrigin.x+sz.cx;
pt.y=m_ptOrigin.y;
SetCaretPos(pt);
dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strline);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);
if (0x0d==nChar) //回车符的处理
{
m_strline.Empty();
m_ptOrigin.y+=tm.tmHeight;
}
else if (0x08==nChar) //退格符的处理
{
COLORREF clr=dc.SetTextColor(dc.GetBkColor());
dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strline);
m_strline=m_strline.Left(m_strline.GetLength()-1);
dc.SetTextColor(clr);
}
else
{
m_strline+=(WCHAR)nChar;
}
CSize sz=dc.GetTextExtent(m_strline);
CPoint pt;
pt.x=m_ptOrigin.x+sz.cx;
pt.y=m_ptOrigin.y;
SetCaretPos(pt);
dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strline);
...全文
相关推荐
重载文本框类onchar()函数
一个实现文本框的限制输入类,通过重载CEdit的onchar()函数,限制文本框的实际输入,不在输入范围内则文本框不显示
MFC EDIT 回车事件响应之 OnChar() 实现的DOME MFC_EDIT_OnChar.rar
MFC EDIT 回车事件响应之 OnChar() 实现的DOME,真实有效,采用PreTranslateMessage方法和 OnChar() 结合实现。
VB 拦截键盘,演示拦截WM_CHAR消息时如何处理中文
摘要:VB源码,系统相关,拦截键盘,拦截中文 VB 拦截键盘(可以拦截中文),子类化窗口,将myMSG的数据复制回MSGPoint所指的内存区域,以便能处理DLL发出的自定义消息,演示拦截WM_CHAR消息时如何处理中文,可获得万能五笔输入。
MFC.design.password.edit.control.rar_EDIT CONTROL_MFC EDIT_edit_
MFC编程密码编辑控件设计代码MFC Programming design code the password edit control
VC6.0中处理键盘消息
主要在vc中对键盘消息进行处理,包含有相应的消息接收,消息类型


图形处理/算法
