zoukankan      html  css  js  c++  java
  • 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());
    //将位图选入到内存显示设备中
    //仅仅有选入了位图的

  • 相关阅读:
    解决Linux系统下MYSQL数据表大小写敏感问题
    MYSQL报1022错误:Can't write;duplicate key in table '.....'
    本地测试Http升级到Https(证书信任)
    Linux查看端口占用情况
    Java报错:java.lang.NoSuchMethodError: io.netty.util.internal.ObjectUtil.checkPositive
    Linux查看磁盘空间
    如何解除Word中“保护文档”的限制
    tcpdump命令详解
    python 爬取视频
    pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/3799481.html
Copyright © 2011-2022 走看看