如何改变对话或窗体视窗的背景颜色

原创 2004年11月04日 08:41:00

调用CWinApp : : SetDialogBkColor可以改变所有应用程序的背景颜色。第一个参数指定了背景颜色,第二个参数指定了文本颜色。下例将应用程序对话设置为蓝色背景和黄色文本。

BOOL CSampleApp : : InitInstance ( )

{

//use blue dialog with yellow text .

SetDialogBkColor (RGB (0, 0, 255 ), RGB ( 255 , 255 , 0 ) ) ;

}

需要重画对话(或对话的子控件)时,Windows向对话发送消息WM_CTLCOLOR,通常用户可以让Windows选择绘画背景的刷子,也可重置该消息指定刷子。下例说明了创建一个红色背景对话的步骤。

首先,给对话基类增加一人成员变量CBursh :

class CMyFormView : public CFormView

{

private :

CBrush m_ brush ; // background brush

} ;

其次, 在类的构造函数中将刷子初始化为所需要的背景颜色。

CMyFormView : : CMyFormView ( )

{

// Initialize background brush .

m_brush .CreateSolidBrush (RGB ( 0, 0, 255 ) )

}

最后,使用ClassWizard处理WM_CTLCOLOR消息并返回一个用来绘画对话背景的刷子句柄。注意:由于当重画对话控件时也要调用该函数,所以要检测nCtlColor参量。

HBRUSH CMyFormView : : OnCtlColor (CDC* pDC , CWnd*pWnd , UINT nCtlColor )

{

// Determine if drawing a dialog box . If we are , return +handle to

//our own background brush . Otherwise let windows handle it .

if (nCtlColor = = CTLCOLOR _ DLG )

return (HBRUSH) m_brush .GetSafeHandle ( ) ;

return CFormView : : OnCtlColor (pDC, pWnd , nCtlColor );

}

如何改变视窗的背景颜色

Windows向窗口发送一个WM_ERASEBKGND消息通知该窗口擦除背景,可以使用ClassWizard重载该消息的缺省处理程序来擦除背景(实际是画),并返回TRUE以防止Windows擦除窗口。...
  • sichuanpb
  • sichuanpb
  • 2008年10月05日 14:48
  • 529

Qt设置窗体背景颜色

首先得激活可以设置背景颜色:setAutoFillBackground(true);//必须有这条语句 setPalette(QPalette(QColor(250,250,200)));...
  • ycyzrenlifei
  • ycyzrenlifei
  • 2016年10月10日 12:36
  • 1106

VC 修改窗体背景颜色最简单有效的方法

关于VC++6.0做出来的窗体,想修改背景颜色,最简单的方法就是 在窗体初始化函数内修改背景颜色就OK了 我这里有个效果图,是最近做的。 代码就一句OK: BOOL CToolsApp::In...
  • penjie0418
  • penjie0418
  • 2012年08月04日 14:03
  • 2102

设置C#窗体背景颜色...

//一行代码就可以啦...                 this.BackColor = Color.LightBlue;
  • friendan
  • friendan
  • 2012年03月13日 21:50
  • 9769

MFC修改窗口背景颜色

方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。           ----   其中函数的第一个参数指定了背景颜色,第二个参数指定了文本颜色。     下面的例子是将...
  • zzzili
  • zzzili
  • 2012年12月06日 15:29
  • 2144

修改mdi窗体背景色

 int iCnt=this.Controls.Count;for(int i=0;i   {     if(this.Controls[i].GetType().ToString()=="Syste...
  • stdotleo
  • stdotleo
  • 2004年10月19日 09:51
  • 993

基于MFC如何修改按钮,窗体背景色

修改按钮背景色:   1.如果想在按钮上添加BMP图片,要设置按钮的属性为bitmap类型,这样按钮上就不能显示文字了,然后使用下面的代码,VC就是陷阱多  HBITMAP hb=L...
  • alphaxz1
  • alphaxz1
  • 2015年10月22日 11:09
  • 1468

python IDLE 改变窗口背景颜色

初学Python,想必大家拿来练习最多的IDE就是Python自带的IDLE了,但是默认的代码配色及语法高亮主题确实很不适应,所以我们需要做个小小的美化,比如像下面这样我做的美化配置:   HOW...
  • u012337841
  • u012337841
  • 2014年03月28日 23:55
  • 5729

java编程心得(二)——设置界面背景颜色

之前采用this.setBackground(new Color(100,100,100))设置界面背景颜色,结果完全没有效果。后来发现......
  • Pc620
  • Pc620
  • 2010年12月05日 18:27
  • 11280

java窗口背景颜色怎么设定?用setBackground()好像不行,请大侠指教!

你好! 首先,你说的Java窗口是指JFrame或者Frame 其次,你说的窗口背景颜色是指直接调用JFrame或者Frame的setBackground(Color color)方法设置...
  • czkct
  • czkct
  • 2015年11月25日 11:09
  • 4131
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何改变对话或窗体视窗的背景颜色
举报原因:
原因补充:

(最多只允许输入30个字)