您的位置:首页 > 健康 > 美食 > Windows图形界面(GUI)-DLG-C/C++ - 对话框的创建实现

Windows图形界面(GUI)-DLG-C/C++ - 对话框的创建实现

2025/2/25 0:30:59 来源:https://blog.csdn.net/2301_80612536/article/details/140418432  浏览:    关键词:Windows图形界面(GUI)-DLG-C/C++ - 对话框的创建实现
  • 公开视频 -> 链接点击跳转公开课程
  • 博客首页 -> ​​​​​​链接点击跳转博客主页

目录

对话框的创建实现

使用资源编辑器设计对话框

资源文件的创建和管理

对话框过程函数

对话框消息处理

示例代码


对话框的创建实现

使用资源编辑器设计对话框
  • 使用资源编辑器设计对话框
    • 使用 Visual Studio 等 IDE 的资源编辑器可以直观地设计对话框。
    • 资源编辑器提供拖放控件、调整大小、设置属性等功能。
    • 设计完成后,生成相应的 .rc 文件和 .h 文件。
资源文件的创建和管理
  • 创建资源文件
    • 在 Visual Studio 中,右键项目 > Add > Resource... > Dialog
    • 设计对话框并保存生成的 .rc 文件。
  • 管理资源文件
    • 资源文件通常包含对话框、菜单、图标、字符串等资源。
    • 为了便于管理,可以使用多个 .rc 文件并在主 .rc 文件中包含它们。
    • 示例:在主 .rc 文件中包含其他资源文件。
对话框过程函数
  • DialogProc 是一个回调函数,用于处理对话框的消息。
  • INT_PTR CALLBACK DialogProc(HWND hDlg,    // 对话框的句柄UINT message, // 消息WPARAM wParam,// 消息特定的附加信息LPARAM lParam // 消息特定的附加信息
    );
    
  • hDlg:对话框的窗口句柄。
  • message:指示哪种类型的消息正在被处理。
  • wParamlParam:提供关于消息的额外信息,具体内容依赖于消息的类型。
对话框消息处理
  • DialogProc中,你通常会使用一个switch语句来区分和处理不同的消息。
    • WM_INITDIALOG:当对话框初始化时发送此消息。通常用来设置默认值、初始化控件等。
    • WM_COMMAND:当用户交互如点击按钮时发送此消息。根据wParam的值(通常与控件ID关联),执行相应操作。
    • WM_CLOSE:处理对话框的关闭事件。
示例代码
#include <Windows.h>
#include "resource.h"INT_PTR CALLBACK MainDlgproc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{switch (msg){case WM_INITDIALOG:{MessageBox(0, TEXT("WM_INITDIALOG"), 0, 0);return TRUE;}case WM_CLOSE:{EndDialog(hwnd, 0);return TRUE;}}return FALSE;
}INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevHinstance, LPSTR lpCmdLine, INT nCmdShow)
{DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG_MAIN), NULL, MainDlgproc);return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com