我使用 c++ win32 API 创建了一个对话框...有 3 个文本框、1 个组合框和 3 个按钮...
现在我有2个问题...
1.当我按下ENTER按钮时,它调用第二个按钮(ID_OK)功能,但我想调用第一个按钮(ID_MYBUTTON)......
2.我正在使用代码来关注文本框,
SetFocus(GetDlgItem(_hwnd, IDC_NAME));
但它无法聚焦该对话框,我的意思是光标位置在那里,但无法获得任何值,当我输入时......
任何人都可以解决它吗?
我使用 c++ win32 API 创建了一个对话框...有 3 个文本框、1 个组合框和 3 个按钮...
现在我有2个问题...
1.当我按下ENTER按钮时,它调用第二个按钮(ID_OK)功能,但我想调用第一个按钮(ID_MYBUTTON)......
2.我正在使用代码来关注文本框,
SetFocus(GetDlgItem(_hwnd, IDC_NAME));
但它无法聚焦该对话框,我的意思是光标位置在那里,但无法获得任何值,当我输入时......
任何人都可以解决它吗?
这可能会回答您的两个问题: http: //blogs.msdn.com/b/oldnewthing/archive/2004/08/02/205624.aspx:
使用 DM_SETDEFID 消息设置对话框中的默认按钮
使用 WM_NEXTDLGCTL 消息而不是 SetFocus()
// set default button
SendMessage(_hwnd, DM_SETDEFID, (WPARAM)ID_MYBUTTON, 0);
//TODO: if the former default button's style remains, update with BM_SETSTYLE
// set focus
SendMessage(_hwnd, WM_NEXTDLGCTL, (WPARAM)GetDlgItem(_hwnd, IDC_NAME), TRUE);