如何改变框架的背景颜色?

fsh21 2005-09-13 02:13:53
各位大哥大姐:
如何改变框架的背景颜色,一般默认是灰色的,我想改成其他的颜色,不知道行不行?给点建议?
我的主要目的是:把菜单栏去掉,再就是把工具栏的每个按钮变大,每一个的大小是48×48,我想把工具栏的背景颜色设置成和客户区中的背景图片相一致,这样使得工具栏和客户区背景图片融为一体,一开始我是想改工具栏的背景颜色,但是我发现这个程序的工具栏已经应用了一个类,来显示真彩色的图片显示了,所以我就不知道这么改工具栏的背景颜色了,所以我想是不是改变整个框架的背景颜色就可以达到我的要求,请各位给我点意见或建议,非常感谢!
联系方式
QQ:22421469
各位如果有什么好的相关例子,请发给我看看,谢谢!
...全文
370 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bryan Ma 2005-09-14
  • 打赏
  • 举报
回复
处理对话框的CTRL_COLOR消息
MuseIn 2005-09-14
  • 打赏
  • 举报
回复
参考:

改变对话框背景颜色后,如何使控件的背景颜色和对话框背景颜色统一?

请看下面代码: 重载画控件的消息。
HBRUSH dlgtest::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
switch (nCtlColor)
{
case CTLCOLOR_BTN://按钮?
case CTLCOLOR_STATIC://我们所需要改画的静态
{
pDC->SetBkMode(TRANSPARENT);
}
case CTLCOLOR_DLG:
{
CBrush* back_brush;
COLORREF color;
color = (COLORREF) GetSysColor(COLOR_BTNFACE);
back_brush = new CBrush(color);
return (HBRUSH) (back_brush->m_hObject);
}
}
return(CFormView::OnCtlColor(pDC, pWnd, nCtlColor));
}
kenskens 2005-09-13
  • 打赏
  • 举报
回复
在MDI程序中,MDIClient窗口是覆盖整个主框架客户区的,所以直接在OnPaint()中绘制主框架客户区是会被覆盖掉的,什么也看不到,只有灰色的背景。

可以截获MDIClient的WM_PAINT,每当MDIClient要绘制自身时,给MainFrame也发送个WM_PAINT
CMainFrame::PreTranslateMessage(MSG *pMsg)
{
if( (pMsg->m_hwnd == m_hWndMDIClient) && (pMsg->message == WM_PAINT) )
{
PostMessage(WM_PAINT);
}

return CMDIFrameWnd::PreTranslateMessage(pMsg);
}

然后在CMainFrame::OnPaint()中取得MDIClient的dc,::GetDC(m_hWndMDIClient),剩下的事就看你想怎么干了,刷上颜色,BitBlt位图,文本,图形.......
fsh21 2005-09-13
  • 打赏
  • 举报
回复
能不能给一段具体的代码?
并且还涉及在哪个类里添加OnCtlColor函数,我这个工程是一个基于多文档的工程
platinum15 2005-09-13
  • 打赏
  • 举报
回复
OnEraseBkgnd(CDC* pDC)
vcmute 2005-09-13
  • 打赏
  • 举报
回复
OnCtlColor中返回对应hbr
sharpshootor 2005-09-13
  • 打赏
  • 举报
回复
可以,帮顶

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧