一个完整的Windows程序框架

本文档展示了如何创建一个完整的Windows程序框架,包括注册窗口类、创建窗口、消息循环和窗口过程。通过实例详细解释了窗口类设置、窗口创建、显示及消息处理的步骤,适合初学者学习。
摘要由CSDN通过智能技术生成
前面我们演示了带界面的Windows程序,但那仅仅是一个弹窗,调用MessageBox函数就可以实现,不是一个真正意义上的窗口。我们通常所说的窗口包含最大化、最小化、关闭按钮,也包含菜单、单选框、图像等各种控件。

一个完整的Windows程序框架:
   
   
   
  1. #include <windows.h>
  2. LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
  3. int WINAPI WinMain(
  4. HINSTANCE hInstance,
  5. HINSTANCE hPrevInstance,
  6. PSTR szCmdLine,
  7. int iCmdShow
  8. ){
  9. static TCHAR szClassName[] = TEXT("HelloWin"); //窗口类名
  10. HWND hwnd; //窗口句柄
  11. MSG msg; //消息
  12. WNDCLASS wndclass; //窗口类
  13. /**********第①步:注册窗口类**********/
  14. //为窗口类的各个字段赋值
  15. wndclass.style = CS_HREDRAW | CS_VREDRAW; //窗口风格
  16. wndclass.lpfnWndProc = WndProc; //窗口过程
  17. wndclass.cbClsExtra = 0; //暂时不需要理解
  18. wndclass.cbWndExtra = 0; //暂时不需要理解
  19. wndclass.hInstance = hInstance; //当前窗口句柄
  20. wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION); //窗口图标
  21. wndclass.hCursor = LoadCursor (NULL, IDC_ARROW); //鼠标样式
  22. wndclass.hbrBackground= (HBRUSH) GetStockObject (WHITE_BRUSH); //窗口背景画刷
  23. wndclass.lpszMenuName = NULL ; //窗口菜单
  24. wndclass.lpszClassName= szClassName; //窗口类名
  25. //注册窗口
  26. RegisterClass(&wndclass);
  27. /*****第②步:创建窗口(并让窗口显示出来)*****/
  28. hwnd = CreateWindow(
  29. szClassName, //窗口类的名字
  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值