几种DC及区别

原创 2006年06月22日 12:39:00

CClientDC:(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其构造函数中包含了GetDC,析构函数中包含了ReleaseDC:

CClientDC::CClientDC(CWnd* pWnd)
{
    ...
    if (!Attach(::GetDC(m_hWnd = pWnd->GetSafeHwnd())))
        AfxThrowResourceException();
}

CClientDC::~CClientDC()
{
    ...
    ::ReleaseDC(m_hWnd, Detach());
}
用法是:
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消息处理之中。
CPaintDC::CPaintDC(CWnd* pWnd)
{
    ...
    if (!Attach(::BeginPaint(m_hWnd = pWnd->m_hWnd, &m_ps)))
        AfxThrowResourceException();
}

CPaintDC::~CPaintDC()
{
    ...
    ::EndPaint(m_hWnd, &m_ps);
    Detach();
}
CWindowDC:关联一特定窗口,允许开发者在目标窗口的任何一部分进行
绘图,包含边界与标题,这种DC同WM_NCPAINT消息一起发送

CWindowDC与CClientDC,CPaintDC的区别:
CWindowDC可在非客户区绘制图形,而CClientDC,CPaintDC只
能在客户区绘制图形。
CWindowDC下坐标原点是在屏幕的左上角,CClientDC,CPaintDC
下坐标原点是在客户区的左上角。
CClientDC与CPaintDC的区别:

CPaintDC的对象一般用在OnPaint内以响应Windows消息WM_PAINT,自动完成绘制,在整个窗口内进行重画,
维持原有窗口完整性。
CClientDC应用在非响应Windows消息WM_PAINT的情况下,进行实时
绘制,绘制的区域内被重画。

DC/DC和LDO的区别

转载自:http://blog.csdn.net/henhen2002/article/details/5808120 LDO :LOW DROPOUT VOLTAGE 低压差线性稳压器,故名...
  • ldinvicible
  • ldinvicible
  • 2013年08月23日 10:15
  • 833

DC/DC和LDO的区别

URL:http://blog.csdn.net/henhen2002/article/details/5808120 LDO :LOW DROPOUT VOLTAGE 低压差线性稳压器,故名思意...
  • wanruoqingkong
  • wanruoqingkong
  • 2013年10月15日 16:36
  • 1098

MC/DC逻辑覆盖

修正条件判定覆盖 修正条件判定覆盖是由欧美的航空/航天制造厂商和使用单位联合制定的“航空运输和装备系统软件认证标准”,目前在国外的国防、航空航天领域应用广泛。这个覆盖度量需要足够的测试用例来确定各个条...
  • u011233181
  • u011233181
  • 2014年06月25日 14:09
  • 2250

电源芯片选择DC/DC还是LDO?

这个取决于你的应用场合。比如用在升压场合,当然只能用DC/DC,因为LDO是压降型,不能升压。另外看下各自的主要特点: DC/DC:效率高,噪声大; LDO:噪声低,静态电流小; 所以如果是用在...
  • gang_life
  • gang_life
  • 2015年12月07日 11:05
  • 6110

关于DC与hDC是什么东西

关于dc到底是个啥玩意   他是一个和硬件驱动打交道的东西。 我们知道,不同的显卡设备,或者打印机设备,有不同的驱动。 而不同的驱动,显卡的厂商给我们写了不同的代码。 然后这些代码被封装成了...
  • u010835196
  • u010835196
  • 2016年05月01日 00:55
  • 1103

浅谈LDO和DC/DC电源的区别

在平时的学习中,我们都有接触LDO和DC/DC这一类的电源产品,但作为学生的我们队这些东西可能了解不够深刻,在这里我给大家介绍一下DC/DC和LDO,并且对他们进行详细分析。   LDO是low d...
  • liding545902
  • liding545902
  • 2014年10月11日 19:18
  • 1237

DC、HDC和CDC的区别及MFC常见类的作用

DC:设备上下文(设备描述表),是WINDOWS的一种数据类型。 HDC:设备上下文句柄(可以理解为指向DC结构的指针),它指向一块描述设备的相关的内容的内存块。 CDC:是MFC里面的一个类,且...
  • weiyong1999
  • weiyong1999
  • 2013年03月15日 11:25
  • 4499

内存DC也有视口和窗口的

相信经常做图形可视化的人都知道双缓冲概念,那是优化刷新显示的技术。实际上,它还有其他用途。     一般的程序当中经常有缩略图、鹰眼、或者打印输出等。有人依靠截屏保存为图片来实现。这是可行的。不...
  • jiangdf
  • jiangdf
  • 2014年11月13日 23:05
  • 1302

JAVA中几种集合(List、Set和Map)的区别

Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List)。Map同样对每个元素保存一份,但这是基于"键"的,Map也有内置...
  • taxuefangmei
  • taxuefangmei
  • 2015年07月03日 10:01
  • 3425

AC/DC电源的设计原理

1、输入整流滤波单元 本设计电源的输入电压是50Hz交流电压85~265Vac,需要整流成直流再参与变换。最简单的方法是整流桥整流,50Hz交流电压经过全波整流后变成脉动直流电压,再通过输入滤波电容...
  • u011872336
  • u011872336
  • 2015年09月08日 11:07
  • 1036
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:几种DC及区别
举报原因:
原因补充:

(最多只允许输入30个字)