让控件不接收消息

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:17:28
VS2005\我的对话框放了几个按钮,运行后我把默认的那个隐藏了,但按下确认键它还是能收到消息,如何让它在隐藏后不可用,重现后又可用呢?
用哪些API?

按下确定键?你是说按下键盘的Enter键吗?
1.接管对话框的消息处理,过滤掉Enter键的WM_CHAR或WM_KEYDOWN消息:当按钮在隐藏状态时,不往下传递CHAR或KEYDOWN消息;
2.重载OnOK函数。在OnOK函数中判断按钮是否隐藏。如果隐藏则直接返回,不进行OnOK响应;
3.隐藏按钮时,去掉它的Defualt属性。