先在头文件中声明一个CRect对象用来表示色块的位置
CRect m_rect;
在.cpp中的的OnPaint()函数中编写如下代码
CPaintDC dc(this); // 获取绘图设备上下文
CBrush brush(RGB(255, 255, 0)); // 创建一个黄色的刷子
CBrush* pOldBrush = dc.SelectObject(&brush); // 选择刷子
m_rect.SetRect(100, 50, 200, 150); // 设置矩形的位置和大小
dc.Rectangle(m_rect); // 绘制矩形并填充颜色
dc.SelectObject(pOldBrush); // 恢复原来的刷子
在MFC中,SetRect
函数是CRect类的成员函数,用于设置矩形的位置和大小。
SetRect
函数有四个参数,它们的含义如下:
SetRect(int left, int top, int right, int bottom)
- 设置矩形的左上角坐标和右下角坐标。
这些参数定义了一个矩形的位置和大小。矩形的左上角坐标是 (left, top)
,右下角坐标是 (right, bottom)
。
请注意,矩形的 left 坐标应小于 right 坐标,top 坐标应小于 bottom 坐标。否则,矩形可能无法正确显示或出现异常。
left
:矩形左边的 x 坐标。top
:矩形顶部的 y 坐标。right
:矩形右边的 x 坐标。bottom
:矩形底部的 y 坐标。
实现效果