⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 windows.cpp

📁 用以理解系统消息机制的C++源代码
💻 CPP
字号:
 

#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);


// 入口函数WinMain
int WINAPI WinMain(HINSTANCE hInstance,   // 当前应用程序实例的句柄
       HINSTANCE hPrevInstance,  // 前一个应用程序实例的句柄
       LPSTR  lpCmdLine,   // 命令行
       int   nShowCmd)   // 显示状态
{
 static TCHAR szAppName[] = TEXT("创建窗口实例");
 WNDCLASS wc;
 HWND hWnd;
 MSG msg;

 // 注册窗体类
 wc.style  = CS_HREDRAW | CS_VREDRAW;    // 窗口类风格
 wc.lpfnWndProc = WndProc;        // 窗口回调函数
 wc.cbClsExtra = 0;         // 窗口类附加数据,设为0即可
 wc.cbWndExtra = 0;         // 窗口附加数据,设为0即可
 wc.hInstance = hInstance;       // 拥有窗口类的应用程序句柄
 wc.hIcon  = LoadIcon(NULL, IDI_APPLICATION);  // 窗口图标
 wc.hCursor  = LoadCursor(NULL, IDC_ARROW);   // 窗口内使用的光标形状
 wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 用于着色窗口的画刷
 wc.lpszMenuName = NULL;         // 指向菜单资源名的指针
 wc.lpszClassName = szAppName;       // 指向窗口类名的指针,不能为NULL

 if (!RegisterClass(&wc))
 {
  MessageBox(NULL, "Start failed!", NULL, MB_ICONERROR);
  return 0;
 }

 // 创建窗口实例
 hWnd = CreateWindow(szAppName,   // 窗口名称,不能为NULL
  szAppName,       // 窗口标题
  WS_OVERLAPPEDWINDOW,    // 窗口风格
  CW_USEDEFAULT,      // 初始x方向坐标
  CW_USEDEFAULT,      // 初始y方向坐标
  CW_USEDEFAULT,      // 初始x方向大小
  CW_USEDEFAULT,      // 初始y方向大小
  NULL,        // 父窗口句柄
  NULL,        // 菜单句柄
  hInstance,       // 应用程序实例句柄
  NULL);        // 附加数据,一般为0

 // 显示窗口
 ShowWindow(hWnd, nShowCmd);

 // 重画窗口
 UpdateWindow(hWnd);

 // 消息循环
 while (GetMessage(&msg, NULL, 0, 0)) // 取出消息队列中的第一个消息,取到WM_QUIT时返回0
 {
  TranslateMessage(&msg);   // 翻译消息
  DispatchMessage(&msg);   // 将消息传递给msg中指定的窗口过程
 }

 return msg.wParam;

}




// 窗口过程函数WndProc
LRESULT CALLBACK WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
 switch (Msg)
 {
 case WM_DESTROY:  // 用户关闭窗口时窗口将收到该消息
  PostQuitMessage(0); // 在消息队列中插入一个WM_QUIT消息
  return 0;
 }

 return DefWindowProc(hWnd, Msg, wParam, lParam);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -