CCllient 的用法

CClientDC是CDC的派生,在构造时调用了Windows函数GetDC,在析构时调用了ReleaseDC,和CClientDC对象相关的设备上下文是窗口的客户区。本文介绍了主要几种DC及其区别。

编辑摘要
  类CClientDC派生于CDC,在构造时调用了Windows函数 GetDC,在析构时调用了 ReleaseDC。这意味着和CClientDC对象相关的 设备上下文是窗口的客户区。
几种DC及区别

  CClientDC:(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其构造函数中包含了GetDC,析构函数中包含了ReleaseDC: 
  用法是:CClientDC dc(this);//this一般指向本窗口或当前活动视图dc.TextOut(10,10,str,str.GetLength());//利用dc输出文本,如果是在CScrollView中使用,还要注意调用OnPrepareDC(&dc)调整设备上下文的坐标。CPaintDC用于响应窗口重绘消息(WM_PAINT)时的绘图输出。CPaintDC在构造函数中调用BeginPaint()取得设备上下文,在析构函数中调用EndPaint()释放设备上下文。EndPaint()除了释放设备上下文外,还负责从消息队列中清除WM_PAINT消息。因此,在处理窗口重画时,必须使用CPaintDC,否则WM_PAINT消息无法从消息队列中清除,将引起不断的窗口重画。CPaintDC也只能用在WM_PAINT消息处理之中。 
  CWindowDC:关联一特定窗口,允许开发者在目标窗口的任何一部分进行绘图,包含边界与标题,这种DC同WM_NCPAINT消息一起发送 
  CWindowDC与CClientDC,CPaintDC的区别:CWindowDC可在非客户区绘制图形,而CClientDC,CPaintDC只能在客户区绘制图形。CWindowDC下坐标原点是在屏幕的左上角,CClientDC,CPaintDC下坐标原点是在客户区的左上角。CClientDC与CPaintDC的区别: 
  CPaintDC的对象一般用在OnPaint内以响应Windows消息WM_PAINT,自动完成绘制,在整个窗口内进行重画,维持原有窗口完整性。CClientDC应用在非响应Windows消息WM_PAINT的情况下,进行实时绘制,绘制的区域内被重画。

**********************************转于百度文库*********************************************************************************

 
 
 
 

附图

转载于:https://www.cnblogs.com/wbcjlwxyzjdld/p/3203449.html

如何使用MATLAB及其工具包YALMIP和求解器CPLEX实现列约束生成法(CCG)来解决两阶段鲁棒优化问题。首先解释了两阶段鲁棒优化的基本概念,即先做出初步决策然后应对不确定性的挑战。接着展示了具体的编码步骤,从主问题的初始化开始,通过定义决策变量和目标函数创建初始模型;再到子问题的设计,用于评估并找出最不利的情况以检验主问题解决方案的有效性;最后讲解了迭代过程中不断向主问题添加新的约束条件直至达到最优解的方法。文中还提供了完整的代码片段以及关键细节提示,如正确处理目标函数中的符号反转、设定合理的上界下界初始值、确保数值稳定性和选择适当的终止条件等。 适合人群:对运筹学、优化理论感兴趣的研究人员和技术爱好者,尤其是希望深入了解CCG算法及其应用的人群。 使用场景及目标:适用于需要处理存在不确定性因素的复杂系统建模与优化任务,比如供应链管理、金融风险控制等领域。通过学习本篇文章,读者可以掌握CCG算法的工作机制,并能够独立运用MATLAB完成类似问题的求解。 其他说明:本文不仅提供了一个完整的案例研究,而且强调了实践中容易被忽视的小技巧,有助于提高程序运行效率和结果准确性。同时,它也是进入CCG算法领域的理想起点,为后续深入探索奠定了坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值