CDC之CreateCompatibleDC与BitBlt

CreateCompatibleDC

创建一个与指定设备一致的内存设备描述表。

HDC CreateCompatibleDC(HDC hdc //设备描述表句柄);

参数 hdc

现有的设备描述表的一个句柄,如果这个句柄为NULL,则函数创建一个和应用程序当前屏幕一致的内存设备描述表。

返回值 如果函数调用成功,则返回一个内存设备描述表句柄;否则返回NULL。

说明
创建一个与特定设备场景一致的内存设备场景
返回值
Long,新设备场景句柄,若出错则为零
参数表
参数 类型及说明
hdc Long,设备场景句柄。新的设备场景将与它一致。也可能为0以创建一个与屏幕一致的设备场景
注解

在绘制之前,先要为该设备场景选定一个位图。不再需要时,该设备场景可用DeleteDC函数删除。删除前,其所有对象应回复初始状态

BitBlt( //图形拷贝
  HMDC0, //目标设备场景
  x0,y0 //目标左上角坐标
  w,h //目标图形宽、高
  HMDC1, //源设备场景
  x1,y1 //源左上角坐标
  SRCCOPY //拷贝方式,这里是直接拷贝);

HBITMAP hbmp = (HBITMAP)::LoadImage(

AfxGetInstanceHandle(),
nidresourcename,IMAGE_BITMAP,0,0,
LR_CREATEDIBSECTION);

1.如何获取应用程序的实例句柄CWinAppIm_hInstance中,用户可以调用AfxGetInstanceHandle获取句柄。

?/P>

2.如何在代码中获取应用程序主窗口的指针

主框窗口的指针保存在CwinThread:: m_pMaiWnd中,可以调用AfxGetMainWnd来获取。下面的例子使应用程序极小化:

AfxGetMainWnd ()->ShowWindow(SW_SHOWWMINMIZED);

CreateCompatibleDC

CDC MemDC;//首先定义一个显示设备对象
CBitmap MemBitmap;//定义一个位图对象

//随后建立与屏幕显示兼容的内存显示设备
MemDC.CreateCompatibleDC(NULL);
//这时还不能绘图,因为没有地方画^_^
//下面建立一个与屏幕显示兼容的位图,至于位图的大小嘛,可以用窗口的大小
CRect rc;
GetClientRect(&rc);

MemBitmap.CreateCompatibleBitmap(pDC,rc.Width(),rc.Height());
//将位图选入到内存显示设备中
//只有选入了位图的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值