MFC如何绘制一个无边框的带背景颜色的矩形
时间: 2024-06-12 11:06:43 浏览: 12
1. 首先,在你的 MFC 应用程序中创建一个新的类,命名为 CMyRectWnd,继承自 CWnd 类。
2. 在 CMyRectWnd 类中添加以下成员变量:
```
COLORREF m_color; // 矩形的背景颜色
```
3. 在 CMyRectWnd 类中添加以下成员函数:
```
void SetColor(COLORREF color); // 设置矩形的背景颜色
afx_msg void OnPaint(); // 处理 WM_PAINT 消息,绘制矩形
```
4. 在 CMyRectWnd.cpp 文件中实现 SetColor() 函数:
```
void CMyRectWnd::SetColor(COLORREF color)
{
m_color = color;
}
```
5. 在 CMyRectWnd.cpp 文件中实现 OnPaint() 函数:
```
void CMyRectWnd::OnPaint()
{
CPaintDC dc(this); // 获取设备上下文
CRect rect;
GetClientRect(&rect); // 获取客户区矩形
CBrush brush(m_color); // 创建画刷,使用设定的背景颜色
dc.FillRect(&rect, &brush); // 填充矩形
// 不绘制边框
}
```
6. 在你的 MFC 应用程序中创建一个 CMyRectWnd 对象,调用 SetColor() 函数设置矩形的背景颜色,将该对象显示在窗口中即可。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)