首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于SetFocus的简单有关问题

2012-03-24 
关于SetFocus的简单问题在一个对话框中,我在对话框的OnInitDialog()最后加了一句m_EditComponentid1.SetFo

关于SetFocus的简单问题
在一个对话框中,我在对话框的OnInitDialog()最后加了一句

m_EditComponentid1.SetFocus();

m_EditComponentid1是一个ID为IDC_EDIT_COMPONENTID1编辑框,但运行程序打开时焦点并没有停到这个编辑框上

用((CButton   *)GetDlgItem(IDC_EDIT_COMPONENTID1))-> EnableWindow(FALSE);也没用,不知道是什么原因请大家说一下

是不是不应该写在OnInitDialog()里?那要做到窗口打开就定好焦点应该写在哪里?

[解决办法]
OnInitDialog中返回FALSE
[解决办法]
你在layout-〉lab orders中,点击你的编辑框,使其序号为1就可以了
[解决办法]
呵呵,看看MSDN上关于WM_INITDIALOG的说明吧
wParam
Handle to the control to receive the default keyboard focus. The system assigns the default keyboard focus only if the dialog box procedure returns TRUE.
[解决办法]
搂主
RETURN FALSE!
下面是API的关于WM_INITDIALOG消息!应该差不多,WM_INITDIALOG消息是对话框接收到的第一个消息,这个消息只发送给对话框程序。如果对话框程序传回TRUE,那么Windows将输入焦点设定给对话框中第一个具有WS_TABSTOP样式的子窗口控件。另外,对话框程序也可以在处理WM_INITDIALOG时使用SetFocus来将输入焦点设定为对话框中的某个子窗口控件,然后传回FALSE。

热点排行