第008讲:文本输出
知识点回顾:1. GDI
Windows 有三大核心部件,它们分别是 kernel、user 和 GDI。
我们所调用的大部分 API 函数都是封装在这三个子系统中的:
[*]kernel 负责内存管理、文件输入输出及任务管理等
[*]user 主要负责所有的窗口管理,也就是用户界面
[*]GDI 就是图形设备接口的缩写,负责在屏幕或打印机上绘制文本和图形
2. 设备环境
DrawText 是属于 GDI 的一个函数,但是大家回忆一下,我们并不能直接调用 DrawText,我们需要先获得一个叫做“设备环境句柄”的东西,对不对?
你可以把设备环境句柄认为是应用程序使用 GDI 函数的“通行证”。有了它,我们才可以随心所欲地绘制你的客户区。
3. 获取设备环境句柄
第一种是我们之前使用的方法,这种方法在响应WM_PAINT消息时使用
hdc = BeginPaint(hwnd, &ps);
// 使用GDI函数
EndPaint(hwnd, &ps);
第二种方法适用于任何时候:
hdc = GetDC(hwnd);
// 使用GDI函数
ReleaseDC(hwnd, hdc);
4. TextOut
TextOut 与 DrawText 相比较起来要简单的多,但Ta拥有 DrawText 没有的功能,就是指定字符串的具体位置。
【API档案】TextOut
WinSDK {:9_241:} 必须的顶一顶 :smile:smile:smile看了都要留下脚印 然而我依然不懂什么是hdc
hdc = GetDC(hwnd);
// 使用GDI函数
ReleaseDC(hwnd, hdc);
为什么在使用这段函数的时候窗口会不停地闪烁
而且不能进行其他的操作
{:5_91:} 学习了 甲鱼大佬,希望你出后面的windows程序设计后面的课程
页:
[1]