📄 untitled-21.txt
字号:
50 MFC Windows程序设计(第 2版)
——
创建 GDI画笔的第二种方法是构造一个没有初始化的 CPen对象并调用 CPen:: Create.
Pen:
CPen pen;
Pen‘CreatePen(PS.SOLID,工,RGB(255,0,0》;
还有一种方法是构造一个没有初始化的CPen对象,向LOGPEN结构中填充描述画笔特
性的参数,然后调用 CPen:: C。atePenlndi。ct生成画笔:
CPen Pen;
LOGpEN lp;
松.工op0sty10=*S.**L工D;
lp. IQpflwidth.fi一工;
lr.loonColor=RGB(255,0,0);
pen.CreatePenlndirect(&lp);
LOGPEN的lopnwidth字段是一个POINT数据结构。结构中的x数据成员指定了画笔的
宽度,y数据成员没有用到。
如果画笔创建成功,则CreatePen和CreatePenlndirect返回TRUE,反之,则返回FALSE。
如果是由CPen的构造函数创建画笔,则一旦不能创建画笔,就会有CResourceException型异
常事件发生。这种情况只有在Windows内存严重缺乏时才会发生。
定义画笔需要三个特性:样式、宽度和颜色。上面给出的例子创建了一个样式为PS.
SOLID,宽度为 1以及颜色为亮红的画笔。第一个参数传送给 CPen:: CPen和 CPen:: Create-
Pen,指定笔的样式,即线的类型。PS—SOLID创建的画笔能画出连续的实线。其他画笔样式
见图2-5。
PHSOLID
PS DASH
*s.*o丁.._.._……..
PS.DASHDO-I-….-…….
PSDASHDOTDOT……_.._-….
PS NULL
PS_INSIDEFRAME_
图2.5画笔样式
PS—INSIDEFRAME是一种特殊的样式,所画的实线位于正在形成的图形的边框内。例
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -