设为首页 加入收藏

TOP

输出文字(五)
2010-12-30 21:10:02 】 浏览:37257
Tags:输出 文字
容代号」,它是GDI的重要部分。实际上,每个GDI函式都需要将这个代号作为函式的第一个参数。

装置内容
 

读者可能还记得,代号只不过是一个数值,Windows以它在内部使用物件。程式写作者从Windows取得代号,然後在其他函式中使用该代号。装置内容代号是GDI函式的视窗「通行证」,有了这种装置内容代号,程式写作者就能自如地在显示区域上绘图,使图形如自己所愿地变得好看或者难看。

装置内容(简称为「DC」)实际上是GDI内部保存的资料结构。装置内容与特定的显示设备(如视讯显示器或印表机)相关。对於视讯显示器,装置内容总是与显示器上的特定视窗相关。

装置内容中的有些值是图形「属性」,这些属性定义了GDI绘图函式工作的细节。例如,对於TextOut,装置内容的属性确定了文字的颜色、文字的背景色、x座标和y座标映射到视窗的显示区域的方式,以及显示文字时Windows使用的字体。

当程式需要绘图时,它必须先取得装置内容代号。在取得了该代号後,Windows用内定的属性值填入内部装置内容结构。在後面的章节中您会看到,可以通过呼叫不同的GDI函式改变这些预设值。利用其他的GDI函式可以取得这些属性的目前值。当然,还有其他的GDI函式能够在视窗的显示区域真正地绘图。

当程式在显示区域绘图完毕後,它必须释放装置内容代号。代号被程式释放後就不再有效,且不能再被使用。程式必须在处理单个讯息处理期间取得和释放代号。除了呼叫CreateDC(函式,在本章暂不讲述)建立的装置内容之外,程式不能在两个讯息之间保存其他装置内容代号。

Windows应用程式一般使用两种方法来取得装置内容代号,以备在萤幕上绘图。

取得装置内容代号:方法一
 

在处理WM_PAINT讯息时,使用这种方法。它涉及BeginPaint和EndPaint两个函式,这两个函式需要视窗代号(作为参数传给视窗讯息处理程式)和PAINTSTRUCT结构的变数(在WINUSER.H表头档案中定义)的地址为参数。Windows程式写作者通常把这一结构变数命名为ps并且在视窗讯息处理程式中定义它:

在处理WM_PAINT讯息时,视窗讯息处理程式首先呼叫BeginPaint。BeginPaint函式一般在准备绘制时导致无效区域的背景被擦除。该函式也填入ps结构的栏位。BeginPaint传回的值

首页 上一页 2 3 4 5 6 7 8 下一页 尾页 5/44/44
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇图形基础 下一篇视窗和讯息

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目