使用DialogBox创建Windows程序

本文介绍如何使用DialogBox创建Windows程序,通过资源文件解决界面布局问题,并详细阐述DialogBox函数参数及窗口消息处理回调函数DialogProc的工作原理。文中还涉及到SHCreateMenuBar的使用,确保菜单从资源文件正确加载。
摘要由CSDN通过智能技术生成

使用DialogBox创建Windows程序

一般的使用SDK编写的WIN32程序(使用WinMain和WindProc进行消息处理),
生成的EXE文件都比较小,但是也会存在不足,即创建的窗口,界面的控件布局比较麻烦。
为此可以使用资源的方法解决窗口布局麻烦的问题,即在资源文件里面建好窗口和菜单,
然后再调用DiaglogBox函数创建Windows窗口,再在DLGPROC里面处理Window消息。

函数声明如下:
int DialogBox(
  HINSTANCE hInstance,
  LPCTSTR lpTemplate,
  HWND hWndParent,
  DLGPROC lpDialogFunc
);
HINSTANCE hInstance:为资源句柄
LPCTSTR lpTemplate:指向需要创建的窗口模板的长指针,可用MAKEINTRESOURCE来通过窗口ID获取
HWND hWndParent:父窗口句柄
DLGPROC lpDialogFunc:窗口的消息处理函数

窗口消息处理的回调函数定义如下:
BOOL CALLBACK DialogProc(
  HWND hwndDlg,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam
);
这里,如果返回为TRUE则表示消息已经处理完了,如果是FALSE,表示还没处理好,系统会根据消息类型,
进行默认的处理。

调用DialogBox的时候,会创建资源里面的窗口,创建完后即进入所创建窗口的消息循环函数里面,
直到调用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值