MFC如何在窗口显示背景图片?~~~~~~~~~~~~~~~~
是窗口,就是显示文字的那个窗口。。。不是对话框。。。麻烦大虾们顺便把代码跟小弟分享下,小弟太菜。。。。。。。就是用MFC的时候,什么都不添加,只是创建一个工程,运行的时候...
是窗口,就是显示文字的那个窗口。。。不是对话框。。。麻烦大虾们顺便把代码跟小弟分享下,小弟太菜。。。。。。。
就是用MFC的时候,什么都不添加,只是创建一个工程,运行的时候不是会弹出一个窗口么,就是那个。。。 展开
就是用MFC的时候,什么都不添加,只是创建一个工程,运行的时候不是会弹出一个窗口么,就是那个。。。 展开
展开全部
能吧问题描述的清楚点吗, 什么是“显示文字的那个窗口。。。不是对话框”??
补充:创建一个工程的时候,直接运行看到的窗口其实也是对话框。
添加背景图片:
1. 使用picture control控件,然后LoadBitmap, setbitmap就可以了
2. 也可以重写WM_ERASEBKGND消息:使用dc,先LoadBitmap, createcompatibledc,然后selectobject讲图片选到dc上去,最后bitblt将图片画上去。
3. 也可以重写WM_PAINT消息:基本跟2的步骤一样,但是最后还要处理下WM_ERASEBKGND,直接return TRUE.不然直接改写WM_PAINT可能会使背景闪烁
要看代码示例的话,建议你去http://www.vckbase.com/code里面很多关于UI制作的示例都很经典,而且还附带了文档解释,很容易看懂的,我基本都在上面学的。
补充:创建一个工程的时候,直接运行看到的窗口其实也是对话框。
添加背景图片:
1. 使用picture control控件,然后LoadBitmap, setbitmap就可以了
2. 也可以重写WM_ERASEBKGND消息:使用dc,先LoadBitmap, createcompatibledc,然后selectobject讲图片选到dc上去,最后bitblt将图片画上去。
3. 也可以重写WM_PAINT消息:基本跟2的步骤一样,但是最后还要处理下WM_ERASEBKGND,直接return TRUE.不然直接改写WM_PAINT可能会使背景闪烁
要看代码示例的话,建议你去http://www.vckbase.com/code里面很多关于UI制作的示例都很经典,而且还附带了文档解释,很容易看懂的,我基本都在上面学的。
展开全部
什么都不添加, 编译运行后弹出的是对话框哦, 怎么不是对话框呢??
你说的窗口跟对话框有什么区别?
如果是对话框的话可以在void C*****Dlg::OnPaint()函数中的else中添加:
CPaintDC dc(this);
CDialog::OnPaint();
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAPBG); //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);
你说的窗口跟对话框有什么区别?
如果是对话框的话可以在void C*****Dlg::OnPaint()函数中的else中添加:
CPaintDC dc(this);
CDialog::OnPaint();
CRect rect;
GetClientRect(&rect);
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAPBG); //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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询