MFC改变模态对话框的背景颜色,添加背景图片

VC中为对话框添加背景图片(如下),但是为模态对话框添加怎么实现呢?1.[代码]使用画刷CBrushvoidCDlg::OnPaint(){CPaintDCdc(this... VC中为对话框添加背景图片(如下),但是为模态对话框添加怎么实现呢?
1. [代码]使用画刷CBrush
void CDlg::OnPaint()
{
CPaintDC dc(this);//用于画图的设备上下文
//加载背景位图
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CBrush brush(&bitmap);//建立画刷
dc.SelectObject(brush);
CRect rect;
GetClientRect(rect);//获得客户区大小
dc.Rectangle(rect);//画矩形,并用图片的画刷填充
展开
 我来答
bhtzu
2015-05-18 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4224万
展开全部
你定向求助了两次,那边的另一位朋友的回答基本正确。
背景图片无关模态非模态。
对话框背景,一般推荐在OnEreaseBkgnd里面做,做好CBrush brush(&bitmap);刷子之后,直接给背景画刷就可以了。

如果在OnPaint里面做,也是可以的,一般推荐用内存DC做双缓存,将bitmap位图SelectObject放到一个memDC里面,通过BitBlt或StretchBlt贴图,方便控制效果。当然你的代码也行,只是效率稍微有些低,注意之后将brush释放出来,否则会有内存资源泄漏。
来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lf...1@163.com
2015-05-18
知道答主
回答量:5
采纳率:0%
帮助的人:4.6万
展开全部
呵呵,楼上那个是复制来的答案吧,是Delphi中的例子,C语言不能用。
在VC中,MessageBox和AfxMessageBox中的字体、颜色和样式都是不可改动的,你只能管理文字内容和标题、窗口归属关系。
如果非常需要一个特殊的MessageBox,那么自己做一个全局调用函数,激活一个自己的模态对话框就可以了,模态对话框的样子以MessageBox为范本,想怎么改随意。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式