📄 04.3.1 简单画刷.txt
字号:
4.3.1 简单画刷
如例 4-15所示代码实现的功能是利用一个红色画刷填充鼠标拖曳过程中形成的-块矩形区域。
DIJ 4-15
τ
void CDrawView : :OnLButtonUp(UINT nFlags , CPoint point)
{
//创建一个红色画刷
CBrush brush(RGB(255 , O, O));
/1创建并获得设备描述表
CClientDC dc(this);
/1利用红色画刷填充鼠标拖曳过程中形成的矩形区域
dC . FillRect (CRect (m-ptOrigin, point ) , &brush);
CView ::OnLButtonUp(nFlags , point) ;
上述例4-15所示代码中,首先创建一个红色画刷:接着创建设备描述表对象:然后调用设备描述表对象的成员函数 Fi1lRect,利用指定的画刷填充一块指定的矩形区域,而鼠标拖动过程中的起点和终点就决定了需要填充的矩形区域,因此,代码中通过CRect类利用鼠标拖动的起点和终点构造了这块矩形区域。 CRect类提供多个构造函数,本例使用的是下面这种构造函数,即通过指定矩形区域的左上角和右下角这两个点来构造一块矩形区域。
CRect( POINT topLeft , PO工NT bottomRight ):
:
吵
一灿
解
详
瓢
上述例 4-15所示代码中使用 CDC类的成员函数 Fi11Rect,该函数的功能是用指定的画刷填充一个矩形。该函数将填充全部的矩形,包括左边和上部边界,但不填充右边和底部
边界。 FilIRect函数的声明如下所示。
void FillRect( LPCRECT lpRect , CBrush* pBrush );
该函数有两个参数,各自的含义如下所述。
. lpRect
指向一个 RECT结构体或 CRect对象的指针,该结构体或对象中包含了要填充的矩形的逻辑坐标。
. pBrush
指向用于填充矩形的画刷对象的指针。 Build并运行 Draw程序,并在程序窗口中任意拖动鼠标,将会得到多个红色区域,如图 4.18所示。
l.二是在4嚣。.司画
.
嚣'
国 际:这里我们选入设备描述表中。 图 4 .18画刷填充矩形区域结果只是用指定的制填充一块区域,因此,并不需要把制设备描述表中存在一个默认的白色画刷。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -