zoukankan      html  css  js  c++  java
  • MFC创建dc的总结

    Windows使用与设备无关的图形设备环境(DC :Device Context) 进行显示 。MFC基础类库定义了设备环境对象类----CDC类。
    CDC与CGdiObject的关系
    说道CDC类就不能不提一下GdiObject---图形对象类。 在Windows应用程序中,设备环境与图形对象共同工作,协同完成绘图显示工作。就像画家绘画一样,设备环境好比是画家的画布,图形对象好比是画家的画笔。用画笔在画布上绘画,不同的画笔将画出不同的画来。选择合适的图形对象和绘图对象,才能按照要求完成绘图任务。
    有关CDC类的继承
    父类:从 CObject 直接继承而来。继承了CObject类的各种特性,如动态创建等等。
    子类:CClientDC-------代表操作窗口的DC ,是比较常用的一个子类
    CMetaFileDC ------响应Meta File的DC ,Meta File是一些GDI消息。
    CPaintDC-------响应WM_PAINT消息的DC。
    CWindowDC ------代表整个屏幕的DC
    CDC类的数据成员
    数据成员只有两个:
    HDC m_hDC : CDC对象使用的输出设备上下文
    HDC m_hAttribDC : CDC对象使用的属性设备上下文
    二者在CDC对象创建时指向相同的设备上下文。

    1.CDC

            CDC *pDC=GetDC();
            pDC->MoveTo(m_point);
            pDC->LineTo(point);
            ReleaseDC(pDC);
    2.hdc
            HDC hdc;
            hdc=::GetDC(m_hWnd);
            MoveToEx(hdc,m_point.x,m_point.y,NULL);
            LineTo(hdc,point.x,point.y);
            ::ReleaseDC(m_hWnd,hdc);
            m_point=point;
     3.CWINDOWDC
            CWindowDC dc(this);
            CWindowDC dc(GetParent());
            dc.MoveTo(m_point);
            dc.LineTo(point);
            m_point=point;
    4.CClientDC 
            CClientDC dc(this);
            dc.MoveTo(m_point);
            dc.LineTo(point);
            m_point=point;
  • 相关阅读:
    AtCoder Grand Contest 49
    Kotlin Heroes 5: ICPC Round 题解 (A-H)
    轮盘赌随机选择算法
    洛谷P1579.验证哥德巴赫猜想(DFS+素性测试)
    洛谷P1308.统计单词数(字符串匹配)
    洛谷P1149.火柴棒等式(暴力搜索)
    洛谷P1036.选数(DFS)
    洛谷P1028.数的计算(动态规划)
    Python对list操作的一些小技巧
    图的DFS和BFS(邻接表)
  • 原文地址:https://www.cnblogs.com/yuqilihualuo/p/3502598.html
Copyright © 2011-2022 走看看