CEdit中输入字符串
来源:互联网 发布:java继承和多态例子 编辑:程序博客网 时间:2024/06/03 17:52
你可以建立一个控件,继承于CEdit。然后用ClassWizard来处理WM_KEYDOWN消息。详细的方法可以参考下面的链接。
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q104637
在CEdit 控件中检测键盘的输入并加以控制有多种发法。但是归根结底是接收CEdit 控件的Keydown消息,并且判断是否是需要的按键被按下。举个简单的例子说,如果你的应用程序是基于对话框的,只要重写CDialog的PreTranslateMessage函数就可以方便的完成这项任务。请参考以下的代码:
BOOL CCeitDlg:reTranslateMessage(MSG* pMsg)
{
HWND hwnd;
GetDlgItem(IDC_EDIT1,&hwnd); //得到CEdit 的句柄
if( pMsg->message == WM_KEYDOWN && pMsg->hwnd == hwnd) //判断如果是在CEdit中有按键按下
{
if (( pMsg->wParam >= 'a' && pMsg ->wParam<='z') ||(pMsg->wParam >= 'A' && pMsg->wParam <= 'Z'))
return CDialog:PreTranslateMessage(pMsg);
//屏蔽了除a~z 和A~Z之外的所有的按键。(不包括PrintScreen ...)
else
return TRUE;
}
return CDialog:PreTranslateMessage(pMsg);
}
关于WM_KEYDOWN消息和PreTranslateMessage, 请参考相应的MSDN文档。
当然你还需要添加一些代码来使这个控件更加完善。但是这样的方法却只能够用在一个应用程序当中,如果很多应用程序都要使用相同的这样的控件,那么考虑到重用性,可以用SubClass的方法。
0 0
- CEdit中输入字符串
- MFC中CEdit控件的换行输入
- MFC中CEdit控件的换行输入
- MFC中CEdit控件的换行输入
- MFC中CEdit控件的换行输入
- MFC中CEdit控件的换行输入
- CEdit换行输入
- CEdit一行一行读取字符串
- VC中CEdit过滤输入字符与限制输入字符长度
- CEdit 输入浮点数设置
- MFC CEdit限定输入数字
- 在CEdit中换行
- CEdit控件中换行
- CEdit中输出换行
- MFC中Cedit控件
- C++中字符串输入
- C++中字符串输入
- C++中字符串输入
- <java——继承>
- ZOJ1081 Points Within
- 关于Toggleswitch控件(开关按钮)
- Oracle的RBO和CBO
- CloudStack + XenServer 部署 – 交换机配置和服务器连线(2).
- CEdit中输入字符串
- dancing links 题集转自夏天的风
- DAO.net基础(二)——导出Excel文件
- 获取内核函数的原始地址
- [LeetCode] Maximum Depth of Binary Tree
- 感受引用
- ARM开发板挂接NFS网络文件系统
- MTK智能机兼容电容TP的方法
- FZU Problem 2171 防守阵地 II (线段树模板题)