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;
}

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值