CDC::CreateCompatibleDC

 

// This OnDraw() handler loads a bitmap from system resources, centers 
// it in the view, and uses BitBlt to paint the bitmap bits.

void CBlat2View::OnDraw(CDC* pDC)
{
  CBlat2Doc
* pDoc = GetDocument();
  ASSERT_VALID(pDoc);

  
// Load IDB_BITMAP1 from the resources.
  CBitmap bmp;
  
if (bmp.LoadBitmap(IDB_BITMAP1))
  
{
    
// Get the size of the bitmap.
    BITMAP bmpInfo;
    bmp.GetBitmap(
&bmpInfo);

    
// Create an in-memory device context compatible with the
    
// display device context that is used to paint.
    CDC dcMemory;
    dcMemory.CreateCompatibleDC(pDC);

    
// Select the bitmap into the in-memory device context.
    CBitmap* pOldBitmap = dcMemory.SelectObject(&bmp);

    
// Find a center point for the bitmap in the client area.
    CRect rect;
    GetClientRect(
&rect);
    
int nX = rect.left + (rect.Width() - bmpInfo.bmWidth) / 2;
    
int nY = rect.top + (rect.Height() - bmpInfo.bmHeight) / 2;

    
// Copy the bits from the in-memory device context to the on-
    
// screen device context to do the painting. Use the computed center 
    
// point for the target offset.
    pDC->BitBlt(nX, nY, bmpInfo.bmWidth, bmpInfo.bmHeight, &dcMemory, 
      
00, SRCCOPY);

    dcMemory.SelectObject(pOldBitmap);
  }

  
else
    TRACE0(
"ERROR: Where is IDB_BITMAP1? ");
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值