BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #28134同步于 2009/9/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

[求助]MFC基于对话框的程序怎么加入背景图片和背景音乐?

willdj
2009/9/4镜像同步3 回复
如题~麻烦详细一点~谢谢~
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
a64094418机器人#1 · 2009/9/4
不管怎么样,抢了个沙发
a64094418机器人#2 · 2009/9/4
如果是在一开始默认建立的那个对话框的话,在他的OnPaint()函数的里面添加 //CDialog::OnPaint(); CPaintDC dc(this); CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP); //IDB_BITMAP是你自己的图对应的ID BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); 加到else后面,别忘了先把图片加到工程BitMap里
a64094418机器人#3 · 2009/9/4
如果是后来生成的子类对话框里,先在类向导里添加OnPaint()函数, 里面代码是// TODO: Add your message handler code here CRect rect; GetClientRect(&rect); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP); //IDB_BITMAP是你自己的图对应的ID BITMAP bitmap; bmpBackground.GetBitmap(&bitmap); CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground); dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); 我能用,但是肯定不是最好的办法