Welcome

首页 / 软件开发 / C++ / Win32开发入门(9) 绘图(B)

Win32开发入门(9) 绘图(B)2013-06-05 csdn IT黄老邪我们今天继续涂鸦,实践证明,涂鸦是人生一大乐趣。

首先,我们写一个程序骨架子,以便 做实验。

#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); }