社区
界面
帖子详情
请问怎么样改变对话框背景颜色(所有对话框)
raylin
2009-04-22 11:07:58
请问怎么样改变对话框背景颜色(所有对话框)的,不是单独一个对话框。谢谢。
...全文
132
7
打赏
收藏
请问怎么样改变对话框背景颜色(所有对话框)
请问怎么样改变对话框背景颜色(所有对话框)的,不是单独一个对话框。谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pornographer
2009-04-22
打赏
举报
回复
OnCtlColor不能贴图吧
yqlhust
2009-04-22
打赏
举报
回复
VC++6.0可以用楼上的方法,VS.NET的话没有SetDialogBkColor函数,要想改变对话框背景颜色,可以为所有对话框类添加WM_CTLCOLOR消息函数,然后在里面添加代码如下:
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何属性
if(nCtlColor==CTLCOLOR_EDIT) //改变编辑框背景颜色
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(160,189,239));
HBRUSH b=CreateSolidBrush(RGB(160,189,239));
return b;
}
else if(nCtlColor==CTLCOLOR_STATIC)//改变静态文本框背景颜色
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(0,133,239));
HBRUSH b=CreateSolidBrush(RGB(0,133,239));
return b;
}
else if(nCtlColor==CTLCOLOR_DLG)//改变对话框背景颜色
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(160,180,220));
HBRUSH b=CreateSolidBrush(RGB(100,200,200));
return b;
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
zwicker
2009-04-22
打赏
举报
回复
派生dialog,然后在这个类中添加图片为背景,需要用这个背景的对话框,就用这个类
raylin
2009-04-22
打赏
举报
回复
晕死,谢谢几位,问题问错了,我是想加一张图片作为所有对话框的背景。
Ryanwen
2009-04-22
打赏
举报
回复
调用CWinApp类的成员函数SetDialogBkColor来实现
函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色。下面的例子是将应用程序对话框设置为蓝色背景和红色文本,步骤如下:
① 新建一个基于Dialog的MFC AppWizard应用程序ExampleDlg。
② 在CExampleDlgApp ::InitInstance()中添加如下代码:
BOOL CExampleDlgApp: : InitInstance ( )
{
…
CExampleDlgDlg dlg;
m_pMainWnd = &dlg;
//先于DoModal()调用,将对话框设置为蓝色背景、红色文本
SetDialogBkColor(RGB(0,0,255),RGB(255,0,0));
int nResponse = dlg.DoModal();
…
}
此方法是将改变应用程序中所有的对话框颜色,并不能针对某一个指定的对话框。
#Page#
2009-04-22
打赏
举报
回复
不用,在onpaint搞就可以了
else
{
// CRect rect;
// CPaintDC dc(this);
// GetClientRect(rect);
// dc.FillSolidRect(rect,RGB(0xff,0xff,0xff)); //设置为绿色背景
CDialog::OnPaint();
}
healer_kx
2009-04-22
打赏
举报
回复
那你应该从CDialog派生出来一个自己的基类,
SetDialogBkColor(RGB(0,0,255),...
改变
对话框
背景颜色
"
改变
对话框
背景颜色
" 本文将详细介绍如何修改
对话框
的
背景颜色
,以VC为开发环境。通过重写
对话框
的OnPaint函数,我们可以实现
对话框
背景颜色
的修改。 首先,需要理解
对话框
的绘制过程。在VC中,
对话框
的绘制是...
vc调整
对话框
背景颜色
程序
- 编译并运行应用程序,检查
对话框
背景颜色
是否能正确
改变
。 以上就是使用MFC实现
对话框
背景颜色
调整的基本流程。这个程序对于初学者来说是一个很好的学习项目,因为它涉及到MFC的几个核心概念,如
对话框
、消息...
基于MFC的关于设置
对话框
背景颜色
的设置
在MFC中,要
改变
对话框
的
背景颜色
,我们需要覆盖`OnInitDialog`函数,这个函数在
对话框
初始化时被调用。默认情况下,`OnInitDialog`会绘制
对话框
的默认背景,但我们可以通过重写它来实现自定义背景。 以下是一步步...
vc 更换
对话框
背景颜色
- 使用`CWnd::SetBkColor()`函数来
改变
对话框
的
背景颜色
。例如,你可以将背景色设置为红色,代码如下: ```cpp HBRUSH hBrush = CreateSolidBrush(RGB(255, 0, 0)); // RGB值代表红色 SetBkColor(hBrush); ...
VC6
对话框
背景色
这个函数在
对话框
背景需要清除时被调用,是
改变
背景色的关键点。添加如下代码: ```cpp void CDlg::OnEraseBkgnd(CDC* pDC) { // 不调用基类的处理,防止默认背景被绘制 // ::DefWindowProc(m_hWnd, WM_...
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章