我想在Dialog上贴上背景图,请问需要在哪个消息中处理!!如果在OnPaint()中处理,有时候会得到的这个消息,比如说,用不规则的窗口在此对话框上移动时,有时话我的对话框不会收到此消息,
而且在OnPaint()中的dc只能用 CPaintDC dc(this);如果用CDC *pDC = GetWindowDC()的话会将上面的button控件也遮盖掉。如果在OnEraseBkgnd(CDC *pDC)中处理的话,
用不规则窗口在对话框上连续快速移动时,上面的button也会出现闪烁,请问,应该如何解决?
而且在OnPaint()中的dc只能用 CPaintDC dc(this);如果用CDC *pDC = GetWindowDC()的话会将上面的button控件也遮盖掉。如果在OnEraseBkgnd(CDC *pDC)中处理的话,
用不规则窗口在对话框上连续快速移动时,上面的button也会出现闪烁,请问,应该如何解决?
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);//得到窗体的大小
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP1);//加载背景图片
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);参考:http://www.xiaozhou.net/cooldog/blogview.asp?logID=23&cateID=16