画图双缓冲

void OnPaint()
{
 CPaintDC dc(this);
 CDC   memdc;
 CBitmap  bitmap;
 int   x, y, count;
 BOOL  do_stagger = FALSE;

 // Create a memory copy to draw to.
 memdc.CreateCompatibleDC(&dc);
 bitmap.CreateCompatibleBitmap(&dc, window_rect.right, window_rect.bottom);
 memdc.SelectObject(&bitmap);

 // Clear the background.
 memdc.FillRect(&window_rect, &background_brush);
 
 // Draw the icons.
   for (x = start_major, count = 0; count < number_of_icons; x += icon_increment, count++)
   {
    if (do_stagger)
    {
     memdc.DrawIcon(x, start_minor + stagger_distance, hicon_array[count]);
    }
    else
    {
     memdc.DrawIcon(x, start_minor, hicon_array[count]);
    }

    do_stagger = !do_stagger;
   }

 // Copy it to the screen.
 dc.BitBlt(0, 0, window_rect.right, window_rect.bottom, &memdc, 0, 0, SRCCOPY);

 // Delete the tempory resources.
 memdc.DeleteDC();
 bitmap.DeleteObject();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值