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

📄 ex_hellowin.cpp

📁 Visual C++应用教程-源代码 本书在复习C++基础知识后
💻 CPP
字号:
#include <windows.h>

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
// 回调窗口函数

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    LPSTR lpCmdLine, int nCmdShow)
{
     HWND         hwnd ;		// 窗口句柄
     MSG          msg ;			// 消息
     WNDCLASS     wndclass ;	// 窗口类

     wndclass.style         = CS_HREDRAW | CS_VREDRAW ;
     wndclass.lpfnWndProc   = WndProc ;
     wndclass.cbClsExtra    = 0 ;
     wndclass.cbWndExtra    = 0 ;
     wndclass.hInstance     = hInstance ;
     wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ;
     wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ;
     wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
     wndclass.lpszMenuName  = NULL ;
     wndclass.lpszClassName = "HelloWin";	// 窗口类名

     if (!RegisterClass (&wndclass))		// 注册窗口
     {
          MessageBox (NULL, "窗口注册失败!", "HelloWin", 0) ;
          return 0 ;
     }
     
	 // 创建窗口
     hwnd = CreateWindow ("HelloWin",                 // 窗口类名
                          "我的窗口",				  // 窗口标题
                          WS_OVERLAPPEDWINDOW,        // 窗口样式
                          CW_USEDEFAULT,              // 窗口最初的 x 位置
                          CW_USEDEFAULT,              // 窗口最初的 y 位置
                          CW_USEDEFAULT,              // 窗口最初的 x 大小
                          CW_USEDEFAULT,              // 窗口最初的 y 大小
                          NULL,                       // 父窗口句柄
                          NULL,                       // 窗口菜单句柄
                          hInstance,                  // 应用程序实例句柄
                          NULL) ;                     // 创建窗口的参数
     
     ShowWindow (hwnd, nCmdShow) ;			// 显示窗口				
     UpdateWindow (hwnd) ;					// 更新窗口,包括窗口的客户区
     
	 // 进入消息循环:当从应用程序消息队列中检取的消息是
	 // WM_QUIT时,则退出循环。
     while (GetMessage (&msg, NULL, 0, 0))
     {
		  TranslateMessage (&msg) ;		// 转换某些键盘消息
          DispatchMessage (&msg) ;		// 将消息发送给窗口过程,这里是WndProc
     }
     return msg.wParam ;
}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
     switch (message)
     {
		 case WM_CREATE:
			  return 0 ;
          
		 case WM_LBUTTONDOWN:
			  MessageBox (NULL, "你好,我的Visual C++世界!", "问候", 0) ;
			  return 0 ;
          
		 case WM_DESTROY:
			  PostQuitMessage (0) ;
			  return 0 ;
     }
     return DefWindowProc (hwnd, message, wParam, lParam) ; // 执行默认的消息处理
}

⌨️ 快捷键说明

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