MFC里如果使对话框不能获取焦点?

来源:百度知道 编辑:UC知道 时间:2024/06/15 19:50:51
不是获取后设回去, 那样会看得出窗口的变化, 是直接设置不能获取.
额, 我是觉得应该有属性设置的, 而不是通过这些操作去作.
其实我应该可以在OnSetFocus时把焦点设回去, 不过这样界面上明显会有表现(就是主窗口灰一下再变正常)
回stone_dongdong: 不行, 而且会导致异常
回lijiakxl: 不明白你的意思, 详细点吧.

窗口有默认的焦点选项 你将这个选项选上就可以再创建的时候设置焦点
或者直接捕获WM_CREATE 消息 来设置焦点 应该不可能有表现吧!

说详细点
你可以再你要获得焦点的控件上单击右键 属性 里面找到一个Default Button选项 选在True就可以了

捕获WM_CREATE消息可以增加一个消息映射
ON_WM_CREATE(fn);

直接把它Disable或者Hide,不可以么?
处于什么目的要将它不能获得焦点状态呢?

重载 WndProc
if ( WM_MOUSEACTIVATE== message)
return MA_NOACTIVATE;

用OnKillFocus( CWnd* pNewWnd )这个函数,对应的消息为WM_KILLFOCUS。
如有疑问,请提出...