设为首页 加入收藏

TOP

图形基础(七)
2010-12-30 21:10:52 】 浏览:57626
Tags:图形 基础
权。然後您在GDI函式中将这个代号作为一个参数,向Windows标识您想在其上进行绘图的设备。

装置内容中包含许多确定GDI函式如何在设备上工作的目前「属性」,这些属性允许传递给GDI函式的参数只包含起始座标或者尺寸资讯,而不必包含Windows在设备上显示物件时需要的所有其他资讯。例如,呼叫TextOut时,您只需要在函式中给出装置内容代号、起始座标、文字和文字的长度。您不必指定字体、文字颜色、文字後面的背景色彩以及字元间距,因为这些属性都是装置内容的一部分。当您想改变这些属性之一时,您呼叫一个可以改变装置内容中属性的函式,以後针对该装置内容的TextOut呼叫来使用改变後的属性。

取得装置内容代号
 

Windows提供了几种取得装置内容代号的方法。如果在处理一个讯息时取得了装置内容代号,应该在退出视窗函式之前释放它(或者删除它)。一旦释放了代号,它就不再有效了。对於印表机装置内容代号,规则就没有这么严格。在第十三章会讨论列印。

最常用的取得并释放装置内容代号的方法是,在处理WM_PAINT讯息时,使用BeginPaint和EndPaint呼叫:

变数ps是型态为PAINTSTRUCT的结构,该结构的hdc栏位是BeginPaint传回的装置内容代号。 PAINTSTRUCT结构又包含一个名为rcPaint的RECT(矩形)结构,rcPaint定义一个包围视窗显示区域无效范围的矩形。使用从BeginPaint获得的装置内容代号,只能在这个区域内绘图。BeginPaint呼叫使该区域有效。

Windows程式还可以在处理非WM_PAINT讯息时取得装置内容代号:

这个装置内容适用於视窗代号为hwnd的显示区域。这些呼叫与BeginPaint和EndPaint的组合之间的基本区别是,利用从GetDC传回的代号可以在整个显示区域上绘图。当然, GetDC和ReleaseDC不使显示区域中任何可能的无效区域变成有效。

Windows程式还可以取得适用於整个视窗(而不仅限於视窗的显示区域)的装置内容代号:

首页 上一页 4 5 6 7 8 9 10 下一页 尾页 7/83/83
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇键盘 下一篇输出文字

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目