windows 程序设计自学:窗口正中显示Hello,World

 1 #include <windows.h>
 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 }

windows 程序设计自学:窗口正中显示Hello,World

时间: 2024-10-11 06:07:15

windows 程序设计自学:窗口正中显示Hello,World的相关文章

windows 程序设计自学:添加字符串资源

1 #include <windows.h> 2 #include "resource.h" 3 4 LRESULT CALLBACK MyWndProc( HWND hwnd, // handle to window 5 UINT uMsg, // message identifier 6 WPARAM wParam, // first message parameter 7 LPARAM lParam // second message parameter 8 ); 9

windows 程序设计自学:添加图标资源

1 #include <windows.h> 2 #include "resource.h" 3 4 LRESULT CALLBACK MyWndProc( HWND hwnd, // handle to window 5 UINT uMsg, // message identifier 6 WPARAM wParam, // first message parameter 7 LPARAM lParam // second message parameter 8 ); 9

WINDOWS程序设计(003)----窗口类的注册

应该结合(002)中的程序例子好好地理解,有十分大的帮助. 链接:WINDOWS程序设计(002)--HELLOWIN程序(源代码及详细解析) WINDOWS程序原理 1.WNDCLASS类型结构的定义 在WinMain中,我们通常用如下形式定义一个WNDCLASS类型的结构.(定义方式参考后面的附表) 然后对该结构的10个字段进行初始化,并调用RegisterClass函数. 在WNDCLASS结构中,两个最重要的字段是第二个字段和最后一个字段. 第二个字段(lpfnWndProc)是用于基于

WINDOWS程序设计对话框加载显示bmp图像及刷新

参考文章:http://blog.csdn.net/wangjian8006/article/details/7464431 图片的加载与显示也是属于窗口绘制这一部分的.所以其代码要写在消息函数的WM_PAINT消息下. (这个代码图片路径是写死的,图片不会变,下面会讲该怎么刷新图片) // 处理对话框消息 INT_PTR CALLBACK DlgProc(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTR

《Windows程序设计》复习题

<Windows程序设计>模拟题 一.单项选择题 1. 在VC++中,项目文件的扩展名是(B). A)exe                                             B)dsp C) dsw                                             D)cpp 2. 在MFC中,利用ClassWizard不能(D ). A)建立新类                                    B)进行消息映射 C) 增加类

《Windows程序设计》读书笔九 子窗口控件

第九章 子窗口控件 子窗口可以作为控制屏幕图形显示,响应用户输入,以及在有重要输入事件的时候通知另一窗口. 标准子窗口控件,按钮,复选框,编辑框,列表框,组合框,文本字符串和滚动条. 可以使用CreateWindow来创建子窗口控件,或者在程序的资源脚本里编辑好各种属性. 使用预定义控件不需要再注册相应的子窗口类,这些类已经存在于windows中并且已经有了预定义的名称. 在调用CreateWindow时,只需要使用该名称作为窗口类的参数即可. 在窗口表明直接创建子窗口,所涉及的任务比使用对话框

《Windows程序设计》读书笔三 窗口与消息

第三章 窗口于消息 前面的例子都使用MessageBox来创建窗口 ,单他所创建的窗口灵活性有限. 3.1 窗口的创建 只要调用CreateWindow函数即可 3.1.1 系统结构概述 一个应用程序窗口可能包含,标题栏,菜单栏,工具栏,滚动条.另外还有一种类型的窗口是对话框,这种窗口可以不带标题栏 还可能包含,按钮,单选按钮,复选框,列表框,滚动条,文本框等.每一个这些对象都被称为 子窗口,或者 控件窗口 当用户改变窗口尺寸时,Windows便向应用程序发送一条携带新窗口尺寸相关的信息,接着应

在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字

在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字呢? 正确的步骤如下: 1, 打开cmd命令行窗口 2, 输入命令 >chcp 65001 数字65001代表的是cmd窗口中utf-8格式的编码.cmd窗口默认编码为gbk,数字代码为936 D:\>chcp 65001 Active code page: 65001 3,在cmd窗口标题栏里右键点击,调出右键菜单,点击属性->字体,将字体改成Lucida Console, OK,可以正确显示utf-8编码的

windows程序设计.窗口.

第一个windows窗口 1 #include <windows.h> 2 /* Displays "Hello, World!" in client area */ 3 4 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口过程函数 5 6 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, 7 PSTR szCmdLine, in