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

int LoadString( HINSTANCE hInstance, // handle to resource module UINT uID, // resource identifier LPTSTR lpBuffer, // resource buffer int nBufferMax // size of buffer);

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

时间: 2024-10-13 15:35:49

windows 程序设计自学:添加字符串资源的相关文章

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 程序设计自学:窗口正中显示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 h

Windows程序设计核心总结(打印机-2018.5.5)

本人大三学生,自学Windows程序设计有两三个月了,我是看鱼C工作室发布的Windows程序设计视频入门的,这视频集数虽然不是特别多,目前只有前面九章的视频内容,但小甲鱼老师讲解书本内容十分详细.入微,能让我们学习到不少知识.我开发Win32的环境是VS2013. 一.打印机工作机理 在Windows中使用打印机时,实际上启动了一系列模块之间复杂的交互过程,包括GDI32模块.打印机设备驱动程序模块.Windows后台打印处理程序和其他模块.应用程序想要开始使用打印机,首先调用CreateDC

Windows程序设计笔记4:第10章:TCP/IP和网络通信

WinSock接口:Windows处理网络的API 套接字socket 流套接字:SOCKET_STREAM           可靠连接   TCP HTTP POP3 数据报套接字:SOCKET_DGRAM     不可靠连接 UDP 寻址方式: 1:sockaddr的第1个版本 struct sockaddr{ u_short  sa_family;       //地址家族 char      sa_data[14];   //数据 } 2.sockaddr的TCP/IP版本的 sock

葛军视频教程《windows程序设计》配套文章_1.1 从最经典的“hello world”C语言程序说起

第一章 编写第一个Windows应用程序 1.1 从最经典的"hello world"C语言程序说起 本文视频教程地址: 优酷网(超清):http://v.youku.com/v_show/id_XNjkwMjgwNzE2.html 土豆网(超清.原画):http://www.tudou.com/programs/view/NV1scXZCbJ8/ 备受全世界程序员青睐的一本书是<The C Programming Language>(中文名<C语言程序设计>)

《Windows程序设计》复习题

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

关于《Windows程序设计(第五版)》中一个实例程序的疑问

最近一直在看Charlse Petzold的<Windows程序设计>,作为一个新得不能再新的新手,只能先照着书的抄抄源码了,之前的例子一直都很正常,但昨天遇到一个很诡异的BUG. 先看实例源码吧: 1 /*----------------------------------------------------------------- 2 ENVIRON.C -- Environment List Box 3 (c) Charles Petzold,1998 4 Copy by XXXX,2

为Windows窗口标题栏添加新按钮

为Windows窗口标题栏添加新按钮 对于我们熟悉的标准windows窗口来讲,标题栏上一般包含有3个按钮,即最大化按钮,最小化按钮和关闭按钮.你想不想在Windows的窗口标题栏上添加一个新的自定义按钮,满足你的个性化需求,从而也使自己的窗口更具特色呢? 下面我们就讨论一下在delphi中如何给窗口的标题栏上添加新的按钮. 一.实现起来要定义以下过程: 1. 定义DrawCaptButton过程,这个过程的功能是在指定的位置画出按钮. 在过程中要使用win32函数GetSystemMetric

windows程序设计笔记

2014.05.06 新建一个visual C++ -- 常规 -- 空白 的项目,用.c后缀名指定这是一个用C语言来写的windows项目.和C语言的hellworld程序做了一个比较,按照windows程序设计规定的入口函数名称.函数参数.参数传递方式等写个入口函数,并弹出一个MessageBox. windows程序设计笔记,布布扣,bubuko.com