很简单的问题难住我了,如何为编辑控件添加KeyDown事件处理函数?
我在窗体上添加了一个编辑控件EDIT1,程序运行后编辑控件获得焦点,如何为编辑控件添加KeyDown事件处理函数呢?类向导里面好象不能,我新建了一个MYEDIT类,但MYEDIT里面却没有EDIT1控件,我应怎么办? 问题点数:50、回复次数:4Top
1 楼sun2000(非常可乐)回复于 2000-12-05 20:46:00 得分 20
你可以在其Parent的PreTranslateMessage(MSG* pMsg)中判断
pMsg->hwnd == edit.GetSafeHwnd()
pMsg->message == WM_KEYDOWN并进行你想要的处理就可以了Top
2 楼sxbyl(sxbyl)回复于 2000-12-05 20:58:00 得分 10
你在用ClassWizard给编辑框控件设关联类时可以设为CMyEditTop
3 楼dingchao(dingchao)回复于 2000-12-05 22:48:00 得分 0
TO SUN2000:edit.GetSafeHwnd()中的edit是一个新建的类还是控件名?Top
4 楼squiffy(歪歪)回复于 2000-12-06 00:17:00 得分 20
首先你必须使用wizard建立一个你自己的类:CMyEdit,从CEdit继承。这样你可以在CMyEdit类中处理KEYDOWN消息了。
如果这个EDIT是使用在对话框中,必须重载:YourApp::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->hwnd == 你的对话框的窗口指针 && pMsg.message == WM_KEYDOWN){
SendMsg(你的控件的窗口指针,pMsg.message,pMsg.wParam,pMsg.lParam);
}
Top




