用一个位图平铺到客户端

代码很简单,不作说明

void CStretchDlg::OnPaint()
{
     CPaintDC dc(this);
     CDC dcMem;
     dcMem.CreateCompatibleDC(&dc);
     CBitmap bitmap;
     bitmap.LoadBitmap(IDB_BITMAP1);
     BITMAP bmpInfo;
     CSize siBitmap;
     if( GetObject(bitmap, sizeof(bmpInfo), &bmpInfo ) )
     {
         siBitmap.cx = bmpInfo.bmWidth;
         siBitmap.cy = bmpInfo.bmHeight;
     }
    
     dcMem.SelectObject(&bitmap);
    
     CRect rtClient;
     GetClientRect(rtClient);
     for( int x=0; x<rtClient.Width(); x += siBitmap.cx )
     {
         for( int y=0; y<rtClient.Height(); y += siBitmap.cy )
         {
              dc.BitBlt( x, y, siBitmap.cx, siBitmap.cy, &dcMem, 0, 0, SRCCOPY );
         }
     }
 
     CDialog::OnPaint();
}

你可能感兴趣的:(用一个位图平铺到客户端)