生成一个MFC填充五角星代码
时间: 2024-03-19 10:43:02 浏览: 186
star.rar_mfc 画五角星_mfc画五角星_star draw
5星 · 资源好评率100%
以下是生成一个MFC填充五角星代码的示例:
首先,我们需要在资源视图中添加一个新的控件,选择“Button”控件并拖拽到对话框中。
接下来,在对话框的头文件中添加如下代码:
```
CButton m_starBtn;
```
在OnInitDialog()函数中添加如下代码:
```
m_starBtn.SubclassDlgItem(IDC_STAR_BTN, this);
```
然后,在OnPaint()函数中添加如下代码:
```
CPaintDC dc(this);
CRect rect;
m_starBtn.GetClientRect(&rect);
CBrush brush(RGB(255, 255, 0)); // 设置填充颜色为黄色
CBrush* pOldBrush = dc.SelectObject(&brush);
POINT pts[] = { {rect.Width()/2, 0}, {rect.Width()*3/5, rect.Height()*2/5}, {rect.Width(), rect.Height()*2/5}, {rect.Width()*3/5, rect.Height()}, {rect.Width()/2, rect.Height()*3/5}, {rect.Width()*2/5, rect.Height()}, {0, rect.Height()*2/5}, {rect.Width()*2/5, rect.Height()*2/5}, {rect.Width()/2, 0} };
dc.Polygon(pts, 9); // 绘制五角星
dc.SelectObject(pOldBrush);
```
最后,在资源视图中双击“Button”控件,并在“IDC_STAR_BTN”的消息处理函数中添加如下代码:
```
Invalidate(); // 重绘
```
这样就可以在单击按钮时绘制出填充的五角星了。
阅读全文