设为首页 加入收藏

TOP

对话方块(三十)
2010-12-30 21:13:56 来源: 作者: 【 】 浏览:40874
Tags:对话 方块
项或者组项。这些函式为:

如果bPrevious为TRUE,那么函式传回前一个Tab键停留项或组项;如果为FALSE,则传回下一个Tab键停留项或者组项。

在对话方块上画图
 

ABOUT2还完成了一些相对说来很特别的事情,亦即在对话方块上画图。让我们来看一看它是怎样做的。在ABOUT2.RC的对话方块模板内,使用位置和大小为我们想要画图的区域定义了一块空白文字控制项:

这个区域为18个字元宽和9个字元高。由於这个控制项没有文字,所以视窗讯息处理程式为「静态」类别所做的工作,只是在必须重绘这个子视窗控制项时清除其背景。

在目前颜色或图形选择发生改变,或者对话方块自身获得一个WM_PAINT讯息时,对话方块程序呼叫PaintTheBlock,这个函式在ABOUT2.C中:

在AboutDlgProc中,视窗代号hCtrlBlock已经在处理WM_INITDIALOG讯息时被设定:

下面是PaintTheBlock函式:

这个函式使得子视窗控制项无效,并为控制项视窗讯息处理程式产生一个WM_PAINT讯息,然後呼叫ABOUT2中的另一个函式PaintWindow 。

PaintWindow函式取得一个装置内容代号,并将其放到hCtrl中,画出所选图形,根据所选颜色用一个著色画刷填入图形。子视窗控制项的大小从GetClientRect获得。尽管对话方块模板以字元为单位定义了控制项的大小,但GetClientRect取得以图素为单位的

首页 上一页 27 28 29 30 31 32 33 下一页 尾页 30/82/82
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇剪贴簿 下一篇功能表及其他资源

评论

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