Hi
Suppose you add a small bitmap to your app resources
You need to override OnEraseBkgnd
Here is the code to tile a bmp in a dialog box:
BOOL CAboutDlg::OnEraseBkgnd(CDC* pDC)
{
CDC dc;
CBitmap bmbkg;
// Get Client Size
CRect rc;
GetClientRect( &rc);
if ( !bmbkg.LoadBitmap( IDB_BACKGROUND))
return FALSE;
BITMAP bmbkgData;
bmbkg.GetBitmap( &bmbkgData);
// Create Compatible DC
if ( !dc.CreateCompatibleDC( pDC))
return FALSE;
// Select Bitmap
CBitmap* pOldBkgBmp = dc.SelectObject( &bmbkg);
// Fill DialogBox
int nXNbr = 1 + ( rc.Width() / bmbkgData.bmWidth);
int nYNbr = 1 + ( rc.Height() / bmbkgData.bmHeight);
int nXPos = 0;
for ( int nX = 0; nX < nXNbr; nX++)
{
int nYPos = 0;
for ( int nY = 0; nY < nYNbr; nY++)
{
// Draw Background Bitmap
pDC->StretchBlt( nXPos, nYPos,
bmbkgData.bmWidth, bmbkgData.bmHeight, &dc,
0, 0, bmbkgData.bmWidth, bmbkgData.bmHeight,
SRCCOPY);
nYPos += bmbkgData.bmWidth;
}
nXPos += bmbkgData.bmHeight;
}
// Clean Up
dc.SelectObject( pOldBkgBmp);
bmbkg.DeleteObject();
return TRUE; // CDialog::OnEraseBkgnd(pDC);
}
HTH
Thierry