• Windows编程1


    一个最简单的windows必须包括两个函数:

    1.入口函数:WinMain

    2.窗口过程回调函数:WndProc

    结构如下:

     1 #include <windows.h>
     2 
     3 //窗口过程回调函数
     4 LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
     5 {
     6     //对各种消息进行处理
     7     switch (msg)
     8     {
     9     case WM_CREATE:
    10         
    11         break;
    12 
    13 
    14     default:
    15         break;
    16     }
    17 
    18     return DefWindowProc(hwnd, msg, wparam, lparam);//把消息转给系统自己处理
    19 }
    20 
    21 
    22 //相当于C语言里面的main函数。返回消息的参数
    23 int WINAPI WinMain(HINSTANCE hinstance, //当前实例句柄
    24                    HINSTANCE hPrevinsttance,
    25                    PSTR cmdLine, 
    26                    int cmdShow)
    27 {
    28     MSG msg;
    29     //1.创建窗口
    30           WNDCLASS wndclass;
    31         //1.1设计窗口类
    32           wndclass.lpfnWndProc = (WNDPROC)WndProc;
    33           //设置wndclass的其余属性
    34         //2.2注册窗口类
    35           if (!RegisterClass(&wndclass))
    36               return 0;
    37         //2.3创建窗口
    38           HWND hwd = CreateWindow("Z","X",
    39               WS_OVERLAPPEDWINDOW,
    40               100,
    41               0,
    42               100,
    43               200,
    44               NULL,
    45               NULL,
    46               hinstance,
    47               NULL);
    48         //2.4显示和更新窗口
    49           ShowWindow(hwd, cmdShow);
    50           UpdateWindow(hwd);
    51     //2.消息循环
    52           while (GetMessage(&msg,NULL,0,0))//GetMessage在消息队列里面去消息放在msg里面
    53           {
    54               TranslateMessage(&msg);//翻译键盘消息
    55               DispatchMessage(&msg);//发送给WndProc处理
    56           }
    57     return msg.wParam;//返回消息的参数
    58 }
  • 相关阅读:
    自定义 ListView
    linux IO重定向
    Facebook开源C++组件库Folly
    在vi按了ctrl+s后
    让Erlang服务器后台运行
    mysql innodb 性能相关参数
    linux 网卡驱动升级
    kernel panic
    32位Linux下使用2G以上大文件的几个相关宏的关系
    CentOS安装erlang
  • 原文地址:https://www.cnblogs.com/hosseini/p/9426449.html
Copyright © 2020-2023  润新知