2024年2月19日发(作者:)

C++对话框背景色的设置方法

---- 方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。

---- 其中函数的第一个参数指定了背景颜色,其次个参数指定了文本颜色。下面的例子是将应用程序对话 框设置为蓝色背景和红色文本,步骤如下:

---- ① 新建一个基于Dialog的MFC AppWizard应用程序ExampleDlg。

---- ② 在CExampleDlgApp ::InitInstance()中添加如下代码:

BOOL CExampleDlgApp: : InitInstance ( )

{

CExampleDlgDlg dlg;

m_pMainWnd =

//先于DoModal()调用,将对话框设置为蓝色背景、红色文本

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

int nResponse = l();

}

---- 编译并运行,此时对话框的背风光和文本色已发生了转变。值

得留意的是:在调用DoModal()之前必需 先调用SetDialogBkColor,且此方法是将转变应用程序中全部的对话框颜色,并不能针对某一个指定的对 话框。

---- 方法二:重载OnPaint(),即WM_PAINT消息。有关代码如下(以上例工程为准):

void CExampleDlgDlg::OnPaint()

{

if (IsIconic())

else

{

CRect rect;

CPaintDC dc(this);

GetClientRect(rect);

lidRect(rect,RGB(0,255,0)); //设置为绿色背景

CDialog::OnPaint();

}