博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows 程序设计自学:窗口正中显示Hello,World
阅读量:5301 次
发布时间:2019-06-14

本文共 2031 字,大约阅读时间需要 6 分钟。

1 #include 
2 3 LRESULT CALLBACK MyWndProc( HWND hwnd, // handle to window 4 UINT uMsg, // message identifier 5 WPARAM wParam, // first message parameter 6 LPARAM lParam // second message parameter 7 ); 8 9 int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )10 {11 WNDCLASS wnd;12 HWND hwnd;13 MSG msg;14 wnd.style = CS_HREDRAW | CS_VREDRAW; //水平或垂直改变窗口都被重绘 与MyWndProc的WM_PAINT消息关联15 wnd.lpfnWndProc = MyWndProc;16 wnd.cbClsExtra = 0;17 wnd.cbWndExtra = 0;18 wnd.hIcon = LoadIcon(NULL, IDI_APPLICATION);19 wnd.hCursor = LoadCursor(NULL, IDC_ARROW);20 wnd.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);21 wnd.lpszMenuName = NULL;22 wnd.lpszClassName = "HelloClass"; //窗口类标识,用在CreateWindow的第一个参数23 wnd.hInstance = hInstance;24 if(!RegisterClass(&wnd))25 {26 MessageBox(NULL, TEXT("无法创建窗口"), TEXT("ERROR"), MB_OK|MB_ICONERROR);27 return 0;28 }29 30 hwnd = CreateWindow("HelloClass", TEXT("Hello"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); //第二个参数为窗口标题31 ShowWindow(hwnd, nShowCmd);32 while (GetMessage(&msg, NULL, 0, 0))33 {34 TranslateMessage(&msg);35 DispatchMessage(&msg);36 }37 return 0;38 }39 40 LRESULT CALLBACK MyWndProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)41 {42 HDC hdc; //定义设备环境句柄43 PAINTSTRUCT ps; //绘制结构44 RECT rect; //矩形结构45 switch(uMsg)46 {47 case WM_PAINT:48 { 49 hdc = BeginPaint(hwnd, &ps);50 GetClientRect(hwnd, &rect);51 DrawText(hdc, TEXT("Hello,World!"), -1, &rect, DT_SINGLELINE|DT_CENTER|DT_VCENTER);52 EndPaint(hwnd, &ps);53 }54 break; 55 case WM_DESTROY:56 PostQuitMessage(0);57 return 0;58 }59 60 return DefWindowProc(hwnd, uMsg, wParam, lParam); 61 }

 

转载于:https://www.cnblogs.com/bjdxy/p/3819363.html

你可能感兴趣的文章
python查询mangodb
查看>>
consonant combination
查看>>
驱动的本质
查看>>
Swift的高级分享 - Swift中的逻辑控制器
查看>>
Swagger简单介绍
查看>>
Python数据分析入门案例
查看>>
vue-devtools 获取到 vuex store 和 Vue 实例的?
查看>>
Linux 中【./】和【/】和【.】之间有什么区别?
查看>>
内存地址对齐
查看>>
看门狗 (监控芯片)
查看>>
css背景样式
查看>>
JavaScript介绍
查看>>
开源网络漏洞扫描软件
查看>>
yum 命令跳过特定(指定)软件包升级方法
查看>>
创新课程管理系统数据库设计心得
查看>>
Hallo wolrd!
查看>>
16下学期进度条2
查看>>
Could not resolve view with name '***' in servlet with name 'dispatcher'
查看>>
Chapter 3 Phenomenon——12
查看>>
C语言中求最大最小值的库函数
查看>>