windows编程学习笔记(3)输出文字

一.GDI和DC简介

GDI即Graphics Device Interface --图形设备接口,是Windows API的一个重要组成部分。它是Windows图形显示程序与实际物理设备之间的桥梁,GDI使得用户无需关心具体设备的细节,而只需在一个虚拟的环境(即逻辑设备)中进行操作。可以说,没有GDI,就没有今天绚烂多彩的windows操作系统
DC即Device Context--设备环境。在GDI中,DC即表示程序可以进行输出操作的环境,比如窗口。
知道了这两个概念,其实输出文字图像操作也就很简单了,就是获取设备环境的句柄,通过GDI函数进行输出文字或者绘图操作。

二.获取设备环境

获取设备环境有两种方式:
1.通过BeginPaint()函数
case WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;
//使用GDI函数
EndPaint (hwnd, &ps) ;
return 0 ;

2.通过GetDC()函数
case WM_PAINT://绘图消息
hdc = GetDC(hwnd);
//使用GDI函数
ReleaseDC(hwnd, hdc);
break;

两种方式都有一个共同的特点,都是成双成对的函数,BeginPaint()之后需要EndPaint(),GetDC()之后需要ReleaseDC()函数
即在获取了设备环境,输出之后,需要将设备环境释放,如果不释放,其他函数则不能再对相应设备环境进行操作。
还有一点,一般在WM_PAINT消息中,使用BeginPaint()函数,在WM_PAINT消息之外,如果还想要在屏幕上输出,那么就用GetDC()函数。

三.输出文字

最常用的输出文字的函数是TextOut函数,定义如下:

BOOL TextOut(

HDC hdc,           // 设备描述表句柄 

int nXStart,       // 字符串的开始位置 x坐标

int nYStart,       // 字符串的开始位置 y坐标

LPCTSTR lpString,  // 字符串

int cbString       // 字符串中字符的个数

);

代码如下:

case WM_PAINT://绘图消息
hdc = GetDC(hwnd);
TextOut(hdc, 100, 100, L"hello Windows", strlen("hello Windows"));
ReleaseDC(hwnd, hdc);
break;

运行结果:




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值