菜鸟的简单问题!
对话框中的edit控件为何不能捕捉到回车键按下的消息?
我想让用户在edit控件中输入数据后,再按回车键后就将edit控件的内容
存入一个CString中并将控件清空,如何办到????????
问题点数:60、回复次数:7Top
1 楼sunyanbiao_12(废人)回复于 2000-08-13 10:45:00 得分 0
edit控件把你回车键当成输入字符,你在edit控件旁边作一个按钮,按下按钮就将edit控件的内容
存入一个CString中并将控件清空。Top
2 楼hyzx2000(hy)回复于 2000-08-13 10:47:00 得分 20
用ClassWizard从CEdit派生一个类C...Edit,然后处理它的WM_KEYDOWN或其他键盘消息。Top
3 楼jiangsheng(蒋晟.Net[MVP])回复于 2000-08-13 15:07:00 得分 0
CDialog:PreTranslateMessage handled it. PreTranslateMessage it before CDialog deal with it.Top
4 楼cloudboy(深蓝)回复于 2000-08-13 18:36:00 得分 0
hyzx2000,我按照你的方法,从CEdit派生一个CEditEx,它可以响应WM_CHAR消息,一般的键
有效,可是按下回车键仍然没反应,还有那位高手能告诉我,我一定给分!!!
Top
5 楼hugos(疯狂老鼠)回复于 2000-08-13 20:03:00 得分 30
你只要把edit的multiline设成true就可以在你派生的类的wm_char中截获回车了nChar=13 Top
6 楼Sunlet(大赢家)回复于 2000-08-13 20:25:00 得分 10
方法1.
在 Edit控件所在的对话框上建一个button,并在属性中把它设置为default(去掉系统提供的缺省的ok按钮的default属性),然后再改按钮的处理程序中把edit控件的内容存入CString变量,并把它清空。 m_string=Edit.GetWindowText();
Edit.SetWindowText("");
方法二。
在PretranslateMessage中处理。如果获得回车消息,就执行上面的操作。Top




