请问怎么在向文本框输入字符时判断按下的键是否符合要求,比如我禁止输入数字,当输入数字的时候就弹出对话框或者不响应输入
解决方案 »
- 子窗口中加动画
- 关于列表控件的排序问题
- 向国庆期间仍坚持上CSDN的网友们致敬!
- 接收端接收到了所有的包,但前面几个数据是对的,后面的不对,这是为什么?(通过TCP传输大数据时)
- 怎样打包呀?
- Linux 论坛的服务器繁忙,没办法我只有将问题提在这里,希望Linux 高手给予回答
- BSTR怎么转换为char *
- 各位大侠,如何从CObject继承一个类?(classwizard的基类列表中没有CObject)
- VC中如何动态添加表字段(VC+ADO+ACCESS)
- 关于报表打印的问题
- 手上一分C++控制台代码,想和VC的界面联系起来,高手可以近来看看吗
- 我用BCG控件生成了一个多文档工程,为什么菜单项上不显示与工具条上对应的图标呢?
{
// TODO: Add your specialized code here and/or call the base class
if (WM_KEYFIRST <= pMsg->message && pMsg->message <= WM_KEYLAST) //判断键盘消息
{
}
}
在类向导里加入这个消息函数
在DlgProc中响应WM_INITDIALOG:
case WM_INITDIALOG:
WNDPROC pOldProc = SetWindowLong(NewProc, GWL_WNDPROC);
break;******************************************************
然后去写NewProc函数。LRESULT NewProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_CHAR:
//在这里判断是否是数字
return 0;
}
return pOldProc(hWnd, message, wParam, lParam);
}
BOOL CYour::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (WM_KEYFIRST <= pMsg->message && pMsg->message <= WM_KEYLAST) //判断键盘消息
{
if(pMsg->message==WM_KEYDOWN)
{
HWND hWnd = ::GetFocus();
int iID = ::GetDlgCtrlID(hWnd);
if(iID == 你的文本框ID)
{
if(pMsg->wParam==37)//37 38 39 40分别对应左上右下
{
//进行处理
}
}
}
}
}
{
switch(message)
{
case WM_KEYDOWN:
//在这里判断是否是上下左右方向键,用虚拟键和wParam比较就可以了
return 0;
}
return pOldProc(hWnd, message, wParam, lParam);
}
这个可以解决我的问题,不过不知道他写的简略还是我理解有错误,也不行....哪位麻烦一下帮我看看