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());
    //将位图选入到内存显示设备中
    //仅仅有选入了位图的

  • 相关阅读:
    Guava Cache,Java本地内存缓存使用实践
    Guava-retry,java重试组件
    [leetcode] 31. 下一个排列
    [leetcode] 30. 与所有单词相关联的字串(cn第653位做出此题的人~)
    [leetcode] 29. 两数相除
    [leetcode] 28. 实现strStr()
    [leetcode] 27. 移除元素
    [leetcode] 26. 删除排序数组中的重复项
    [leetcode] 25. k个一组翻转链表
    [leetcode] 24. 两两交换链表中的节点
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/3799481.html
Copyright © 2011-2022 走看看