如何实现改变窗体颜色 如题,建立了一个基于对话框的应用程序,但觉得不靓,想改一下色彩,不知道如何实现,高人请进,马上结贴放分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对话框的颜色由系统决定的。比如你更改系统的配色方案,对话框的颜色也就跟着变了。要实现自己控制自己的对话框的颜色,大概要用到OWN DRAW吧? 看看这个,我想对你一定有帮助!http://www.vcfan.com/vc/article/article_form/2001111611543.htm http://expert.csdn.net/Expert/topic/2381/2381107.xml?temp=.296261 void CMyDlg::OnPaint() {if (IsIconic())…else{CRect rect;CPaintDC dc(this);GetClientRect(rect);dc.FillSolidRect(rect,RGB(0,255,0)); //设置为绿色背景CDialog::OnPaint();} 在对话框中重载OnCtlColor函数添加如下代码if(nCtlColor==CTLCOLOR_LISTBOX) { //pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(RGB(0,0,0)); pDC->SetBkColor(RGB(233,233,220)); HBRUSH b=CreateSolidBrush(RGB(233,233,220)); return b; } else if(nCtlColor==CTLCOLOR_SCROLLBAR) { //pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(RGB(0,0,0)); pDC->SetBkColor(RGB(233,233,220)); HBRUSH b=CreateSolidBrush(RGB(233,233,220)); return b; } else if(nCtlColor==CTLCOLOR_EDIT) { //pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(RGB(0,0,0)); pDC->SetBkColor(RGB(233,233,220)); HBRUSH b=CreateSolidBrush(RGB(233,233,220)); return b; } else if(nCtlColor==CTLCOLOR_STATIC) { pDC->SetTextColor(RGB(0,0,0)); pDC->SetBkColor(RGB(160,180,220)); HBRUSH b=CreateSolidBrush(RGB(160,180,220)); return b; } else if(nCtlColor==CTLCOLOR_DLG) { pDC->SetBkColor(RGB(160,180,220)); pDC->SetTextColor(RGB(0,0,0)); HBRUSH b=CreateSolidBrush(RGB(160,180,220)); return b; } 怎样使能够在主界面加入控件 头文件重复包含问题 VC的menu[project]里的[dependence]是干什么用的? 如何在vc6中使用GDI+ CControlBar的一个问题 怎么得到对话框的大小?? UNICODE+静态链接MFC=内存泄漏? 请问各位,ListBox显示的时候,如果让滚动条跟着最下面的一行? 字体轮廓提取 怎么做像ACADSEE看图软件中的打开图象后选择区域时随鼠标移动的方线框? _uuidof转换副的确切含义什么? 问个初级问题:char和unsigned char到底有什么本质的区别?比如在将这两种类型转换为其它类型时的差异
要实现自己控制自己的对话框的颜色,大概要用到OWN DRAW吧?
http://www.vcfan.com/vc/article/article_form/2001111611543.htm
{
if (IsIconic())
…
else
{
CRect rect;
CPaintDC dc(this);
GetClientRect(rect);
dc.FillSolidRect(rect,RGB(0,255,0)); //设置为绿色背景CDialog::OnPaint();
}
添加如下代码
if(nCtlColor==CTLCOLOR_LISTBOX)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_SCROLLBAR)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_EDIT)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(160,180,220));
HBRUSH b=CreateSolidBrush(RGB(160,180,220));
return b;
}
else if(nCtlColor==CTLCOLOR_DLG)
{
pDC->SetBkColor(RGB(160,180,220));
pDC->SetTextColor(RGB(0,0,0));
HBRUSH b=CreateSolidBrush(RGB(160,180,220));
return b;
}