mfc更改dialog标题栏背景颜色
时间: 2023-07-16 08:12:32 浏览: 349
vc修改窗口标题栏的颜色 自绘标题栏.txt
5星 · 资源好评率100%
要更改MFC对话框的标题栏背景颜色,可以按照以下步骤操作:
1. 打开对话框资源文件 (.rc)。
2. 在资源视图中选择对话框。
3. 在属性视图中选择“扩展样式”属性。
4. 将“WS_EX_APPWINDOW”标志添加到扩展样式属性中。
5. 保存并关闭资源文件。
6. 打开对话框类的头文件 (.h)。
7. 添加以下代码到类定义中:
```
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
```
8. 在类定义的 .cpp 文件中添加以下代码:
```
HBRUSH CYourDialogClass::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if (nCtlColor == CTLCOLOR_DLG)
{
return (HBRUSH)GetStockObject(GRAY_BRUSH); //更改为你想要的颜色
}
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
```
9. 在 OnInitDialog() 函数中添加以下代码:
```
CWnd* pWnd = GetDlgItem(IDOK); //将 IDOK 替换为你对话框中的控件 ID
pWnd->ModifyStyle(0, BS_OWNERDRAW);
```
这些步骤会将对话框的样式更改为具有应用程序窗口样式,然后通过重写 OnCtlColor() 函数更改对话框的标题栏背景颜色。最后,修改“OK”按钮的样式以使其支持自绘制背景。
阅读全文