windows编程笔记(5):客户区输出字符

在客户区的界面显示程序是在放在回调函数的WM_PAINT消息的处理中,当客户区需要被重绘时,Windows系统会给应用程序窗口发送一个WM_PAINT消息。窗口在收到这个消息时,它就会重绘它的客户区。

显示文字的步骤:

1 用BeginPaint()函数得到客户区的设备环境句柄。

2 用TextOut()函数显示文字。

3 用EndPaint()函数结束显示。

显示文字的代码如下:

	case WM_PAINT:
		hdc=BeginPaint(hWnd,&ps);
		TextOut(hdc,10,10,s1,13);
		TextOut(hdc,20,40,s2,32);
		EndPaint(hWnd,&ps);
		break;

注意,beginpiant()与endpaint()函数必须是成对出现的,就像重绘窗口的时候,程序什么也没有干,也要有这对函数。否则,windows会一直给程序发送WM_PAINT消息。

本程序结果如下:

时间: 2024-10-23 04:56:54

windows编程笔记(5):客户区输出字符的相关文章

windows编程笔记(3):匈牙记命名法

本文讲一下匈牙利命名法: 举两个例子:hInstance,szCmdLine. 这两个例子中,第一个变量的h表示handle,代表这个变量是一个句柄:第二个变量的sz表示这个变量是以0结尾的字符串,也就是C语言中,传统的字符串. 匈牙利命名法就是这样的,以一个表示这个变量类型的字母组合来表示这个变量的类型.其后的单词代表它的变量的意思. 匈牙利命名法的前缀表如下所示: 还有一种命名方法,假如要命名一个结构体,例如上一个程序中的WNDCLASS这个结构体,变量可以叫wndclass.RECT-->

windows编程笔记(1):Hello world!

开始学习windows程序设计,把学习的笔记都记录下来,方便日后查看. 第一个笔记,Hello World!程序比较简单,上代码: #include<Windows.h> int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,PSTR sizeCmdLine,int iCmdShow) { MessageBox(NULL,TEXT("Hello world!"),TEXT("MESSAGE&qu

windows编程注意点(持续更新)

1.windows编程中,所有的操作都放到窗口过程中进行,main函数只用于描述窗口基本信息. 2.用于获取设备环境句柄时,用BeginPaint/EndPaint,消耗cpu小,但占内存大;用GetDC/ReleaseDC,消耗CPU大,但占内存小. 3.TextOut在同一客户区输出多行内容是,需要不同的x,y坐标才能实现,否则会输出到同一行,造成无法显示. 4.大部分标识参数都需要按位运算,而不是逻辑运算.

【Windows编程】系列第四篇:使用Unicode编程

上一篇我们学习了Windows编程的文本及字体输出,在以上几篇的实例中也出现了一些带有“TEXT”的Windows宏定义,有朋友留言想了解一些ANSI和Unicode编程方面的内容,本章就来了解和学习一些Windows下关于ANSI和Unicode方面的编程基础. 计算机最早在美国诞生,所以最开始都是以英语为作为交互语言,由于只有26个字母,用一个字节(范围-128 ~ 127)表示,这个范围足够表示26个因为字符和一些常用的控制字符,这个就是ASCII编码.因此最早的各种程序设计语言以及使用的

【Windows编程】系列第三篇:文本字符输出

上一篇我们展示了如何使用Windows SDK创建基本控件,本篇来讨论如何输出文本字符. 在使用Win32编程时,我们常常要输出文本到窗口上,Windows所有的文本字符或者图形输出都是通过图形设备接口(GDI)进行的,Windows的三大核心组件之一的GDI32.dll封装了所有的文本和图像输出. GDI基本知识 Windows下要绘图和输出文本,都是通过GDI(Graphics Device Interface,图形设备接口)完成的,GDI是windows在绘制图文时的设备上下文环境,包括画

C++windows内核编程笔记day07_day08,可视化建菜单、加速键使用、绘图等

可视化操作创建的菜单,加载到窗口. 方法1:注册时指定菜单 wce.lpszMenuName=MAKEINTRESOURCE(IDR_MENUMAIN);//数字形式的资源ID转换为字符串形式的资源 方法2: //创建窗口时加载菜单资源 HMENU menumain= LoadMenu(g_hinstance,MAKEINTRESOURCE(IDR_MENUMAIN)); menumain 传入 CreateWindowEx();//倒数第三个参数 窗口指定小图标: 1.注册时指定 wce.hI

storysnail的Windows串口编程笔记

storysnail的Windows串口编程笔记 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据General Public License,v3 发布 GPLv3 许可证的副本可以在这里获得:http://www.gnu.org/licenses/gpl.html 本文档根据GNU Free Documentation License 1.3发布 GFDL1.3许可证的副本可以在这里获得:http:/

C++windows内核编程笔记day09_day10,对话框和窗口基本控件等的使用

//设置字体颜色 SetTextColor(hdc,RGB(255,0,0)); //窗口背景 //wce.hbrBackground=(HBRUSH)(COLOR_WINDOW+1); //wce.hbrBackground=CreateSolidBrush(RGB(0,0,255)); //设置字体背景 SetBkColor(hdc,RGB(0,0,200)); //设置字体背景模式 SetBkMode(hdc,TRANSPARENT);//字体背景透明 //创建字体,成功返回字体,失败返回

走进windows编程的世界-----字符编码

1   字符编码 1.1编码的历史 1.1.1ASCII码 0=127 7位表示 1.1.2ASCII扩展码 0-255 8为表示. 代码页:通过代码也来切换对应的字符(数字表示) 1.1.3双字节字符集DBCS 使用一个或两个字节表示字符. 1.1.4Unicode编码 全部使用2个字节表示字符 内存 硬盘等资源占用变大.对编码支持度大. 字符集 1.2C 语言和编码 1.2.1单字节的字符和字符串 Char  cText = 'A'; Char * pszText ="ABCD"