我们今天继续涂鸦,实践证明,涂鸦是人生一大乐趣。
首先,我们写一个程序骨架子,以便 做实验。
#include <Windows.h> LRESULT CALLBACK MainWinProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain( HINSTANCE hThisApp, HINSTANCE hPrevApp, LPSTR lpsCmdln, int iShow) { WNDCLASS wc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hbrBackground = CreateSolidBrush(RGB(0,0,0)); // 默认光标类型为箭头 wc.hCursor = LoadCursor(hThisApp, IDC_ARROW); // 默认应用程序图标 wc.hIcon = LoadIcon(hThisApp, IDI_APPLICATION); wc.hInstance = hThisApp; wc.lpfnWndProc = MainWinProc; wc.lpszClassName = L"MyAppTest"; wc.lpszMenuName = NULL; wc.style = CS_HREDRAW | CS_VREDRAW; // 注册窗口类 RegisterClass(&wc); // 创建窗口 HWND hwnd = CreateWindow( L"MyAppTest", L"绘画课", /* 使用 WS_VISIBLE 就不用调用ShowWindow了 */ WS_VISIBLE | WS_OVERLAPPEDWINDOW, 100, 45, 500, 380, NULL, NULL, hThisApp, NULL); // 消息循环 MSG msg; while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return 0; } LRESULT CALLBACK MainWinProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_PAINT: PAINTSTRUCT ps; BeginPaint(hwnd, &ps); /* 待实现 */ EndPaint(hwnd, &ps); return 0; } return DefWindowProc(hwnd, msg, wParam, lParam); }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索return
, null
, lparam
, wc
, hwnd
msg
win32开发入门、win32双缓冲绘图、win32 gdi 绘图、win32 绘图、stm32开发入门,以便于您获取更多的相关知识。
时间: 2024-08-07 14:57:03