BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)
{ if ((pMsg->message==WM_CHAR)
&&(pMsg->hwnd==this->GetDlgItem(IDC_EDIT2)->m_hWnd))
{
if ( ((UINT)pMsg->wParam >57)||((UINT)pMsg->wParam <46))
{switch ((UINT)pMsg->wParam)
{
case 8:
break;
default:
pMsg->wParam=0;
}
}}
return CDialog::PreTranslateMessage(pMsg);
}
这是一个只能输入数字的例子。不过数字EDIT本身就可以限制了...
{ if ((pMsg->message==WM_CHAR)
&&(pMsg->hwnd==this->GetDlgItem(IDC_EDIT2)->m_hWnd))
{
if ( ((UINT)pMsg->wParam >57)||((UINT)pMsg->wParam <46))
{switch ((UINT)pMsg->wParam)
{
case 8:
break;
default:
pMsg->wParam=0;
}
}}
return CDialog::PreTranslateMessage(pMsg);
}
这是一个只能输入数字的例子。不过数字EDIT本身就可以限制了...
解决方案 »
- OnCustomdraw与OnNMCustomdraw有什么分别,同样在IDC_LIST1(CListCtrl)上添加的消息处理
- 关于wm_user消息的问题,请高手帮忙
- 想对ftp服务器上的文件都打开并读取文件头的数据,下面的代码在我...
- 用vc编一个学生成绩管理系统(不要用mfc)
- 安装VC6.0遇到的一个菜问题……
- 编程修改本机ip地址如何实现?
- 如何在list' box中实现多选?
- 一个难题!
- 如何用用VC读取WAV格式的文件,绘出波形图并可以对读取出来的数据进行编辑处理!
- c++ builder的应用程序调用mfc dll,用mfc dll弹出窗体时程序崩溃
- DLL的内存是如何分配的?
- vc ++数字图形处理
CEditHex::public CEdit
处理WM_CHAR消息
void CEditHex::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(nChar==VK_BACK||(nChar>='0'&&nChar<='9')||(nChar>='a'&&nChar<='f')||(nChar>='A'&&nChar<='F'))
{
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
else
{
::Beep(1500,50);
::AfxMessageBox("请输入字符'0'~'9','A'~'F'!");
return;
}
}
在这个控件里,只能输入符'0'~'9','A'~'F'的十六进制符