我有一个非常简单的应用程序,它有几个按钮和文本字段。我希望能够为它添加一个图标,因为当它落后于其他窗口时,你无法看到它是否正在运行。这样做最简单的方法是什么?
我尝试创建一个隐藏有效的窗口,但是当你点击任务栏图标时你可以看到其他窗口闪烁,我似乎无法将它集中在对话框上。
答案 0 :(得分:4)
我认为根本问题在于你有一个隐藏的顶级窗口,它拥有你的对话框。该对话框充当主窗口,但任务栏显示与隐藏窗口关联的按钮。
所以我想你需要做的就是完全删除隐藏的窗口。这意味着摆脱RegisterClass
和CreateWindow
来电。
我假设您显示对话框无模式。在这种情况下,您使用CreateDialog和ShowWindow来显示它。特别注意文档的这一部分:
CreateDialog返回后,应用程序使用ShowWindow函数显示对话框(如果尚未显示)。应用程序使用DestroyWindow函数销毁对话框。要支持键盘导航和其他对话框功能,对话框的消息循环必须调用IsDialogMessage函数。
当然,如果你以模态方式显示对话框,你可以继续这样做。在这种情况下,您的WinMain
功能非常简单。这只是对DialogBox
的调用。不需要消息循环,因为模态对话框的消息循环处理消息。