从0开始学习《Windows程序设计》:文本!

本文深入探讨了Windows的三大核心部件:Kernel、GDI、User,并着重讲解了GDI中的TextOut函数,包括其功能、参数及使用方法。通过本文,读者可以了解如何在Windows环境下使用GDI函数绘制文本。

一、windows三大核心部件

kernel, GDI, user。我们所调用的函数都是分装在这三大系统的子系统中的。

1、其中kernel主要负责,内存管理,文件的输入与输出以及人物管理。
2、user主要和用户打交道,主要负责所有窗口管理,用户界面。
3、GDI是图形设备接口的缩写,负责在屏幕和打印机上绘制文本和图形。

比如我们之前使用的DrawText,就是属于GDI函数,但在使用该函数之前,我们要获得一个设备句柄,我们可以这样认为设环境句柄是应用程序使用GDI函数的通行证。
设备环境也叫设备上下文,它是GDI内部维护的一个设备的数据结构,这里面存放着你要打印的文本的颜色,文本的背景色,文本的对齐方式。
因此在绘制前必须获得对应的设备环境句柄。获得属性值后,windows才知道怎么去调用GDI函数。

二、获取设备环境句柄的方式
方法一:

hdc = BeginPaint(hwnd, &ps);
//使用GDI函数
EndPaint(hwnd, &ps);
//使用完,别忘记进行扫尾工作。

方法二:

hdc = GetDC(hwnd);
//使用GDI函数
ReleaseDC(hwnd, hdc);

函数功能:
TextOut 函数使用当前选择的字体、背景颜色和文本颜色,将一个字符串绘制于窗口的指定位置。

API 函数原型:
注释:In 说明该参数是输入的,opt 说明该参数是可选参数。

BOOL TextOut(
  _In_  HDC hdc,
  _In_  int nXStart,
  _In_  int nYStart,
  _In_  LPCTSTR lpString,
  _In_  int cchString
);

参数解析:
参数 含义
hdc 设备环境句柄
nXStart 指定用于字符串对齐的基准点的逻辑 x 坐标(有关基准点请看下边备注)
nYStart 指定用于字符串对齐的基准点的逻辑 y 坐标
lpString 1. 指向将被绘制字符串的指针
2. 该字符串不必以’\0’结束,因为 cchString 参数指定了该字符串的长度
cchString lpString 字符串的长度(有多少个字符)

返回值:

  1. 如果函数调用成功,返回值为非 0;
  2. 如果函数调用失败,返回值为 0。

该函数详细文档:https://fishc.com.cn/forum.php?mod=viewthread&tid=49474&extra=page%3D1%26filter%3Dtypeid%26typeid%3D420
转自鱼C论坛

TextOut(hdc, 400, 300, TEXT("爱心天使的守护!"), 8);

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值