国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
對話框找不到WM_ERASEBKGND消息的解決方法與對話框背景圖片的載入方法 - 加菲的...

對話框找不到WM_ERASEBKGND消息的解決方法與對話框背景圖片的載入方法

VC++ 2010-05-15 15:51:19 閱讀37 評論0 字號:

為了讓對話框程序更為漂亮,一般都是在窗口的WM_ERASEBKGND消息處理函數(shù)OnEraseBkgnd中添加如下代碼.

BOOL CMFCtestDlg::OnEraseBkgnd(CDC* pDC)

{

// TODO: Add your message handler code here and/or call default

CRect rect;

CPaintDC dc(this);

GetClientRect(&rect);

dc.FillSolidRect(rect,RGB(0,255,0));//對話框背景顯示為綠色

return TRUE;

// return CDialog::OnEraseBkgnd(pDC);

}

但在對話框程序中,我們打開MFC ClassWizard中的Message maps,找不到WM_ERASEBKGND消息的.雖然對話框也是窗口,所以對話框也會有此消息的響應(yīng)的.但是MFC把對話框中的窗口消息WM_ERASEBKGND給過濾掉了,這樣做是為了讓我們更著重于對話框的特有消息與控件消息.為了在對話框中能處理WM_ERASEBKGND消息,我們就需要把這個消息找出來.

打開MFC ClassWizard,選擇Class Info項.然后在Advanced options下的Message filter選擇: Window ,點擊OK,關(guān)閉MFC ClassWizard,后,重新打開就可以看到WM_ERASEBKGND消息了.

 

對話框載入背景圖也可以在WM_ERASEBKGND消息處理函數(shù)中進行.如下代碼BOOL CMFCtestDlg::OnEraseBkgnd(CDC* pDC)

{

// TODO: Add your message handler code here and/or call default

CRect rect;

CPaintDC dc(this);

GetClientRect(&rect);

CDC dcMem;

dcMem.CreateCompatibleDC(&dc);

CBitmap bmpBKG;

bmpBKG.LoadBitmap(IDB_DLGBITMAP);//載入位圖,IDB_DLGBITMAP是在ResourceView里邊導(dǎo)入的位圖ID

BITMAP bmp;

bmpBKG.GetBitmap(&bmp);

CBitmap* pOldBMP = dcMem.SelectObject(&bmpBKG);

dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);

return TRUE;

// return CDialog::OnEraseBkgnd(pDC);

}

 

查看/建立類向?qū)?ClassInfo/Advanced Options/:Message filter:dialog->window

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
VC防止窗口和控件閃爍的方法
VC防止窗口和控件閃爍的方法
C 雙緩沖技術(shù)
自繪按鈕補遺
VC++更改對話框背景色和字體顏色
在MFC單文檔窗口中添加背景圖片
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服