在VC6中如何屏蔽“文本编辑框”的“回车键”??? 在VC6中如何屏蔽“文本编辑框”的“回车键”??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 PreTranslateMessage中对WM_KEYDOWN的VK_ENTER进行屏蔽 CDialog::PreTranslateMessage(MSG* pMsg){ if(GetFocus()->GetDlgCtrlID() == IDC_EDIT1 ) //判断焦点是否在EDIT1上 if( pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN )//判断是否按回车 return TRUE;直接返回 return CDialog::PreTranslateMessage(pMsg);} 在消息循环PeekMessage或者GetMessage之后,判断是否调用DispatchMessage。MFC的消息循环有调用CWnd::PreTranslateMessage,所以楼上的方法可以,如果不用MFC的话需要自己修改消息循环的处理过程 楼上三位高人已经说了。也可以派生CEdit的子类进行处理。 BOOL CTest6Dlg::PreTranslateMessage(MSG* pMsg) { if( pMsg->message == WM_KEYDOWN ) { if(pMsg->hwnd == GetDlgItem(IDC_EDIT1)->m_hWnd) { switch( pMsg->wParam ) { case VK_RETURN: return TRUE; } } } return CDialog::PreTranslateMessage(pMsg);} 也可以通过处理KEY_UP和KEY_DOWN事件来进行处理 在VC6中如何屏蔽“文本编辑框”的“回车键”???--------------你不把want return选上就行了默认是没有选上你回车就把对话框关闭了 首先在控件的属性中去掉want return然后可以拦截消息 谢谢各位高手相助,问题解决了80%。还有一个小问题:Alt+F4怎么屏蔽?问题解决马上结帐。 两个办法,一是在F4按下时判断alt的状态。二是记录alt的keydown和keyup事件。 用VC++6.0一段时间后出现的问题:找不到*.EXE文件 奇怪问题,大家来看看,为什么获取不到对方的端口号 CListCtrl中个别行设置CheckBox 线程通信问题 各位我是菜鸟,问两个小问题,,请千万别嘲笑我。。 msdn 关于单行编辑的KeyDown事件?怎样获得击健的ASCII的值? 请教使用回调函数,响应处理服务器发来的消息,怎么实现 拖动文件到自己编写的程序,打开文件后,不更新视图 ///////////合作开发联盟的设想\\\\\\\\\\ 各位大侠能不能解释下怎么样使用界面库skinmagic怎么样应用到自己的程序中呢? 再开一帖,继续散分!
{
if(GetFocus()->GetDlgCtrlID() == IDC_EDIT1 ) //判断焦点是否在EDIT1上
if( pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN )//判断是否按回车
return TRUE;直接返回
return CDialog::PreTranslateMessage(pMsg);
}
也可以派生CEdit的子类进行处理。
{
if( pMsg->message == WM_KEYDOWN )
{
if(pMsg->hwnd == GetDlgItem(IDC_EDIT1)->m_hWnd)
{
switch( pMsg->wParam )
{
case VK_RETURN:
return TRUE;
}
}
}
return CDialog::PreTranslateMessage(pMsg);
}
--------------
你不把want return选上就行了默认是没有选上
你回车就把对话框关闭了
然后可以拦截消息