设为首页 加入收藏

TOP

图形基础(四十一)
2010-12-30 21:10:52 来源: 作者: 【 】 浏览:40231
Tags:图形 基础
略y值。

将结构的位址传递给CreatePenIndirect结构就可以建立画笔了:

注意,CreatePen和CreatePenIndirect函式不需要装置内容代号作为参数。这些函式建立与装置内容没有联系的逻辑画笔。直到呼叫SelectObject之後,画笔才与装置内容发生联系。因此,可以对不同的设备(如萤幕和印表机)使用相同的逻辑画笔。

下面是建立、选择和删除画笔的一种方法。假设您的程式使用三种画笔-一种宽度为1的黑画笔、一种宽度为3的红画笔和一种黑色点式画笔,您可以先定义三个变数来存放这些画笔的代号:

在处理WM_CREATE期间,您可以建立这三种画笔:

在处理WM_PAINT期间,或者是在拥有一个装置内容有效代号的任何时间里,您都可以将这三个画笔之一选进装置内容并用它来画线:

画线函式

其他画线函式

在处理WM_DESTROY期间,您可以删除您建立的三种画笔:

这是建立、选择和删除画笔最直接的方法。但是您的程式必须知道执行期间需要哪些逻辑画笔,为此,您可能想要在每个WM_PAINT讯息处理期间建立画笔,并在呼叫EndPaint之後删除它们(您可以在呼叫EndPaint之前删除它们,但是要小心,不要删除装置内容中目前选择的画笔)。

您可能还希望随时建立画笔,并将CreatePen和SelectObject呼叫组合到同一个叙述中:

现在再开始画线,您将使用一个红色虚线画笔。在画完红色虚线之後,可以删除画笔。糟了!由於没有保存画笔代号,怎么才能删除这些画笔呢?不要紧,请记住,Se

首页 上一页 38 39 40 41 42 43 44 下一页 尾页 41/83/83
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇键盘 下一篇输出文字

评论

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