微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 使用CreateWindowEx()创建的窗口中的默认按钮

我使用CreateWindowEx创建了一个窗口,它使用以下代码作为向导对话框;

DWORD dwStyle = WS_DLGFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_OVERLAPPEDWINDOW;
m_hWnd = CreateWindowEx(WS_EX_APPWINDOW,_T("WIZARD"),_T("SETUP"),dwStyle,CW_USEDEFAULT,WIZARD_WIDTH,WIZARD_HEIGHT,NULL,g_hInstance,this);

在WM_CREATE处理程序中,我创建了底部的’Next’,’Back’和’Cancel’按钮,在Next’按钮上我设置了样式BS_DEFPUSHBUTTON,我将DM_SETDEFID发送到具有下一个按钮ID的窗口.该按钮显示为下一个按钮,但在任何输入字段上返回返回都不执行任何操作(无设置ES_WANTRETURN).

我究竟做错了什么?如果我错过任何重要信息,我可以发布更多代码.

谢谢,
Ĵ

解决方法

DM_SETDEFID消息通常由DefDlgProc处理.如果您正在调用DefWindowProc,那么您需要自己处理该消息,以便当IsDialogMessage向您的窗口发送DM_GETDEFID消息时,您将知道如何响应.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐