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

C++对话框背景色的设置方法,第1张

C++对话框背景色的设置方法,第2张

在一个基于对话框的MFC AppWizard应用程序中,如何改变对话框的背景颜色?其实这个问题可以通过几种不同的方法来解决,如下(加粗斜体):
-方法一:调用CWinApp类的成员函数SetDialogBkColor来实现。
-其中函数的第一个参数指定背景颜色,第二个参数指定文本颜色。以下示例将应用程序对话框设置为蓝色背景和红色文本。步骤如下:
-①新建一个基于对话框的MFC AppWizard应用程序ExampleDlg。
-②将下面的代码添加到CexampleLGApp::initinstance():
Bool CexampleLGApp::initinstance()
{
……
CexampleLGDLG DLG;
m _ pMainWnd = & DLG;
//在调用DoModal()之前,将对话框设置为蓝色背景,红色文本
SetDialogbKColor (RGB (0,0,255),RGB (255,0,0));
int nResponse = dlg。DoModal();

}
-编译运行,对话框的背景色和文字颜色都发生了变化。值得注意的是,在调用DoModal()之前,必须先调用SetDialogBkColor,该方法会改变应用程序中所有对话框的颜色,但不会针对某个特定的对话框。
-方法二:重载OnPaint(),即WM_PAINT消息。相关代码如下(以上述项目为准):
void CexampledLGDLG::onpaint()
{
if(isionic())
……
{[/br
CPaintDC DC(this);
GetClientRect(rect);
dc。FillSolidRect(rect,RGB(0,255,0));//设置为绿色背景
CDialog::OnPaint();
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C++对话框背景色的设置方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情