欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

用win32控制台应用程序绘制一个小房子

发布时间:2025/4/16 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 用win32控制台应用程序绘制一个小房子 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

环境:Visual Studio 2013

绘制小房子就用了画矩形和直线的函数:

 

#include <windows.h> #include <stdlib.h> #include <string.h> #include <tchar.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow) {static TCHAR szAppName[] = TEXT("HelloWin");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 = szAppName;if (!RegisterClass(&wndclass)){MessageBox(NULL, TEXT("This program requires Windows NT!"),szAppName, MB_ICONERROR);return 0;}hwnd = CreateWindow(szAppName, // window class nameTEXT("The Hello Program"), // window captionWS_OVERLAPPEDWINDOW, // window styleCW_USEDEFAULT, // initial x positionCW_USEDEFAULT, // initial y positionCW_USEDEFAULT, // initial x sizeCW_USEDEFAULT, // initial y sizeNULL, // parent window handleNULL, // window menu handlehInstance, // program instance handleNULL); // creation parametersShowWindow(hwnd, iCmdShow);UpdateWindow(hwnd);while (GetMessage(&msg, NULL, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam; }LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {HDC hdc;PAINTSTRUCT ps;switch (message){case WM_CLOSE:DestroyWindow(hwnd);break;case WM_DESTROY:PostQuitMessage(0);break;case WM_PAINT: hdc = BeginPaint(hwnd, &ps); //1Rectangle(hdc,100,100,300,250); // 2Rectangle(hdc,300,100,380,250); // 2//画窗Rectangle(hdc,120,120,150,150);Rectangle(hdc,150,120,180,150);Rectangle(hdc,120,150,150,180);Rectangle(hdc,150,150,180,180);//画门Rectangle(hdc,200,160,250,250);//画屋顶MoveToEx(hdc,140,20,NULL); //1LineTo(hdc, 340, 20); //2MoveToEx(hdc,140,20,NULL); //1LineTo(hdc, 100, 100); //2MoveToEx(hdc,340,20,NULL); //1LineTo(hdc, 300, 100); //2MoveToEx(hdc,100,100,NULL); //1LineTo(hdc, 300, 100); //2MoveToEx(hdc,340,20,NULL); //1LineTo(hdc, 380, 100); //2EndPaint(hwnd, &ps); // 3break; default:return DefWindowProc(hwnd, message, wParam, lParam);}return 0; }

 

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的用win32控制台应用程序绘制一个小房子的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。