как установить фоновое изображение в диалоговом окне в vc ++ 6.0 - PullRequest
0 голосов
/ 15 сентября 2009

как установить фоновое изображение в диалоговом окне в vc ++ 6.0

Ответы [ 2 ]

2 голосов
/ 15 сентября 2009

Для MFC вы перегружаете OnEraseBackground

class CMyDialog: public CDialog
{

protected:
CMyDialog::CWizardDialog(int nID);

BOOL OnEraseBkgnd(CDC* pDC);
CBitmap m_background;

};

BOOL CMyDialog::OnEraseBkgnd(CDC* pDC) 
{
CDialog::OnEraseBkgnd(pDC); 
if(!m_background.m_hObject)
    return true;

CRect rect;
GetClientRect(&rect);
CDC dc;
dc.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap = dc.SelectObject(&m_background);


BITMAP bmap;
m_background.GetBitmap(&bmap);
// stretch      
pDC->StretchBlt(0, 0, rect.Width(),rect.Height(), &dc,0, 0,bmap.bmWidth,bmap.bmHeight, SRCCOPY);

// don't stretch 
//pDC->StretchBlt(0, 0, rect.Width(),rect.Height(), &dc,0, 0,rect.Width(),rect.Height(), SRCCOPY);
dc.SelectObject(pOldBitmap);

return true;
}
0 голосов
/ 21 мая 2015

Используйте функцию SetBackgroundImage() в вашем OnInitDialog(). Пример:

this->SetBackgroundImage(IDB_BITMAP1, BACKGR_TOPLEFT, TRUE);

Подробнее см. https://msdn.microsoft.com/en-us/library/bb983866.aspx.

...