• 关于CDC在非控件类中的使用


       在非CStatic的派生类中,由于进行图形的绘制的话,我们需要对该类传入一个CDC以便于绘画。这是因为非CStatic等控件类无法自己产生onPaint这类的消息,因此需要借传入的CDC进行回执,然后回执在其他的内存上,最后达到绘图的效果。

               但是,在这里面有一个问题,当我们直接传入CDC的时候,往往会造成一个访问私有成员变量的错误,如下:
    void CBaseDlg:: ShowLoading(CDC  desDC/*desDC*/ )
    {
           CLoading *pLoading    = CLoading::GetInstance ();
           pLoading->ShowLoading ( desDC);
    }
            这个时候,往往会产生编译错误,如下:

        即使是我们将改变量的CDC改为公共变量,也依然不能够编译通过,那么解决方法改如何呢??
    方法就是利用指针,而非变量本身。将上述的借口设计修改为:
    void CBaseDlg:: ShowLoading(CDC *pDC/*desDC*/ )
               以指针的方式进行调用和绘画,就能够通过。
  • 相关阅读:
    3、Less-计算
    2、Less-混合
    1、Less-初见
    5、反射-动态代理
    4、反射-类的构造器:Constrctor
    3、反射-Field
    2、反射-Method&父类
    1、反射-Class&ClassLoader
    5、URLConnection(3)
    Linux进程状态查询
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3159597.html
Copyright © 2020-2023  润新知