此文系轉載,忘了博客地址了
VC++中如何給對話框加背景圖片(2010-03-22 16:57:59)
方法一:
1、聲明成員變量CBrush m_brush;
2、在InitDialog中添加代碼:
CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP1); //IDB_BITMAP1是圖片資源ID m_brush.CreatePatternBrush(&bmp);
3、重載對話框的OnCtlColor,改最后的返回值:
return (HBRUSH)m_brush;
方法二:
把下面這段代碼加進OnPaint()里就行了
CPaintDC dc(this); CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); //這個IDB_BITMAP1要自己添加 CBrush brush; brush.CreatePatternBrush(&bitmap); CBrush* pOldBrush = dc.SelectObject(&brush); dc.Rectangle(0,0,200,200); // 這些參數可以調整圖片添加位置和大小 dc.SelectObject(pOldBrush);
方法三:使用StretchBlt()函數,具有圖像自適應窗體功能
CPaintDC dc(this); CBitmap bitmap; bitmap.LoadBitmap(IDB_BITMAP1); //這個IDB_BITMAP1要自己添加 CBrush brush; brush.CreatePatternBrush(&bitmap); CBrush* pOldBrush = dc.SelectObject(&brush); dc.Rectangle(0,0,200,200); // 這些參數可以調整圖片添加位置和大小 dc.SelectObject(pOldBrush);
