MFC改变背景色(5)

时间:2025-07-06

[转]MFC中设置窗体的背景色,图片,插入音乐

来源: 柳雨新的日志

一、设置背景颜色的三种方法:

1、我们知道程序在运行的时候会调用OnPain函数,那么我们可以在这里设置背景颜色。 void CFlipCardsDlg::OnPaint()

{

if (IsIconic())

{

//保持不变

}

else

{

CRect rc;

GetClientRect( &rc );// 获取客户区

CPaintDC dc(this);

dc.FillSolidRect(&rc, RGB(0,160,0)); // 填充客户区颜色

CDialog::OnPaint();

}

}

2、第二种方法只要一条语句,但是这里要注意这里绘制的颜色是针对程序中所有的对话框(如果是单文档的话,好像不行)

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

// 前一个RGB是背景色,后一RGB是文本颜色

该函数放在工程的APP文件的初始化函数中。

3、第三种方法,利用ClassWizard重载OnCtlColor(),即WM_CTLCOLOR消息

在要着色的对话框中申明一个变量,CBRUSH m_hbrush;然后在项目的Dlg类初始化函数中给m_hbrush赋值。

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

然后在OnCtlColor(...)返回该画刷就可以了,如下。

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

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here

switch (nCtlColor)

MFC改变背景色(5).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219