设为首页 加入收藏

TOP

视窗和讯息(二十四)
2010-12-30 21:09:07 来源: 作者: 【 】 浏览:17273
Tags:视窗 讯息
HELLOWIN中, 这是一个白色备用画刷。这意味著,Windows将通过把视窗背景设定为白色来删除视窗背景。BeginPaint呼叫令整个显示区域有效,并传回一个「装置内容代号」。装置内容是指实体输出设备(如视讯显示器)及其装置驱动程式。在视窗的显示区域显示文字和图形需要装置内容代号。但是从BeginPaint传回的装置内容代号不能在显示区域之外绘图,读者可以试一试。EndPaint释放装置内容代号,使之不再有效。

如果视窗讯息处理程式不处理WM_PAINT讯息(这是很罕见的),它们必须被传送给DefWindowProc。DefWindowProc只是依次呼叫BeginPaint和EndPaint,以使显示区域有效。

呼叫完BeginPaint之後,WndProc接著呼叫GetClientRect:

GetClientRect (hwnd, &rect) ;

第一个参数是程式视窗的代号。第二个参数是一个指标,指向一个RECT型态的rectangle结构。该结构有四个LONG栏位,分别为left、top、right和bottom。GetClientRect将这四个栏位设定为视窗显示区域的尺寸。left和top栏位通常设定为0,right和bottom栏位设定为显示区域的宽度和高度(图元点数)。

WndProc除了将该RECT结构指标作为DrawText的第四个参数传递外,不再对它做其他处理:

DrawText ( hdc, TEXT ("Hello, Windows 98!"), -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;

DrawText可以输出文字(正如其名字所表明的一样)。由於该函式要输出文字,第一个参数是从BeginPaint传回的装置内容代号,第二个参数是要输出的文字,第三个参数是 -1,指示字串是以位元组0终结的。

DrawText最後一个参数是一系列位元旗标,它们均在WINUSER.H中定义(虽然由於其显示输出的效果,使得DrawText像一个GDI函式呼叫,但它确实因为相当高级的画图功能而成为User模组的一部分。此函式在/Platform SDK/Graphics and Multimedia Services/GDI/Fonts and Text中说明)。旗标指示了文字必须显示在一

首页 上一页 21 22 23 24 25 26 27 下一页 尾页 24/29/29
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇输出文字 下一篇Unicode简介

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: