使用对话框作为主窗口.未接收到WM_INITDIALOG消息
Using a dialog box as a main window. Not receiving WM_INITDIALOG messages
我已经创建了一个无模式对话框作为主窗口,但没有向窗口过程发送WM_INITDIALOG消息。
以下是我所做的。
- 使用Visual Studio的资源编辑器创建了一个对话框模板,并且将其类名设置为自定义类
- 使用WNDCLASSEX注册类、窗口过程以及一些图标和画笔等
- 使用CreateDialog((,最后两个参数设置为NULL,(Parent窗口和窗口过程(
- 使用IsDialogMessage((、TranslateMessage((创建消息循环和DispatchMessage((
- 如果没有,则在窗口过程中返回DefDlgProc((作为默认值邮件已处理
我想不出其他重要的事情了。除了没有接收到WM_INITDIALOG消息之外,一切都很好。我这样做是为了让应用程序最小化到任务栏,如果需要的话,我可以有一个菜单。
所以我的第一个问题是,我做了什么愚蠢的事吗?
其次,我是否应该期望使用此系统接收WM_INITDIALOG消息?如果没有,初始化的好方法是什么?比如说一个带字符串的组合框。(我看过WM_ACTIVATE、WM_ACTIWATEAPP等,但似乎没有什么合适的。并且组合框尚未在WM_CREATE中创建。(提前谢谢。
我在发布后不久就意识到了答案。正如上面的评论中提到的,这是一个窗口过程,而不是一个对话框过程,所以我不应该试图在过程中初始化子窗口。
因此,在创建对话框之后和消息循环之前,我在过程之外对它们进行了初始化。所有对话框功能都按预期工作,但它是一个主窗口,可以有菜单并最小化任务栏。
相关文章:
- boost::进程间消息队列引发错误
- 在线编译器中的分段C++没有打印消息
- C++错误消息*成员参考.**初学者*
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 如何通过参数抛出错误消息
- 从服务器传输到客户端的消息不会出现
- ROS2 动态消息模板
- C++秘密消息学校作业
- glad 导致 glfwSwapBuffers 返回错误消息
- C++入门 5 版:类消息和文件夹
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- 如何处理从一个对象传递到另一个在C++中具有公共抽象类的对象的消息
- 如何接受 [ENTER] 键作为无效输入并发送错误消息
- 由于无效的 ValidateRgn() 子窗口不会收到WM_PAINT消息
- "string.h"在构建适用于iOS的qt应用程序中找不到消息
- 如何将 Firebase 与基于 Linux 的客户端应用配合使用,以便与服务器进行双向消息通信
- 重新定义预定义的 errno 错误消息 (E2BIG)
- Libmosquitto publish 不会将所有消息传递到 Azure IoT Hub
- 什么是窗口最大化/最小化/恢复的WM Windows消息