CClientDC

CClientDC(客户区设备上下文)用于客户区的输出,它在构造函数中封装了GetDC(),在析构函数中封装了ReleaseDC()函数。一般在响应非窗口重画消息(如键盘输入时绘制文本、鼠标绘图)绘图时要用到它。用法是:

CClientDC dc(this);//this一般指向本窗口或当前活动视图

dc.TextOut(10,10,str,str.GetLength());

//利用dc输出文本,如果是在CScrollView中使用,还要注意调

//用OnPrepareDC(&dc)调整设备上下文的坐标。

时间: 2024-11-09 03:59:02

CClientDC的相关文章

VC/MFC的HDC,CDC,CWindowDC,CClientDC,CPaintDC详解:

首先说一下什么是DC(设备描述表) 解:Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制.DC是一种包含设备信息的数据结构,它包含了物理设备所需的各种状态信息.Win32程序在绘制 图形之前需要获取DC的句柄HDC,并在不继续使用时释放掉. 在c++ 编程中常会见到HDC,CDC,CClientDC,CPaintDC,CWindowDC这样的类 HDC是DC的句柄,API中的一个类似指针

CPaintDC和CClientDC的区别

1.CClientDC(客户区设备上下文)用于客户区的输出它在构造函数中封装了GetDC(),在析构函数中封装了ReleaseDC()函数.一般在响应非窗口重画消息(如键盘输入时绘制文本.鼠标绘图)绘图时要用到它.2.CPaintDC用于响应窗口重绘消息(WM_PAINT)是的绘图输出.CPaintDC在构造函数中调用BeginPaint()取得设备上下文,在析构函数中调用EndPaint()释放设备上下文.EndPaint()除了释放设备上下文外,还负责从消息队列中清除WM_PAINT消息.因

CDC,CPaintDC,CClientDC,CWindowDC区别

———————————————————————— 1.首先,对DC进行解释一下: Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制.DC是一种包含设备信息的数据结构,它包含了物理设备所需的各种状态信息.Win32程序在绘制图形之前需要获取DC的句柄HDC,并在不继续使用时释放掉. 2.然后,理顺CDC的派生类关系: CObject public |------CDC public |--

VC中显示ICON和BMP图片

显示ICON图标,如下: static HICON hIcon  = (HICON)::LoadImage(       AfxGetInstanceHandle(),        TEXT("1.ico"),       IMAGE_ICON,       0, 0,       LR_DEFAULTCOLOR | LR_CREATEDIBSECTION | LR_LOADFROMFILE);          CClientDC dc(this);       dc.DrawIc

InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效

emWIN里面的无效重绘和windows很类似. WM_InvalidateArea()和WM_InvalidateRect()只重绘指定的区域,其他区域不会重绘,这样避免了闪烁,重绘发生在下次WM_PAINT消息中.WM_InvalidateWindow()重绘整个窗口,可以看到明显的闪烁. //////////////////////////////////////////////////////////////////////////////////////////////////////

VC++6.0中OpenGL应用程序开发

1. Win32控制台方式 建立Win32 控制台程序,在头文件中加入 #include <windows.h>  #include <wingdi.h>  #include <GL/gl.h>  #include <GL/glu.h >   #include <GL/glaux.h> 2. MFC方式 (1)采用VC AppWizard向导创建空的MFC(EXE)工程框架,整个过程总共6步,值得指出的是一般情况下在向导的第1步选择创建工程的模式

vs2008中使用gdi+的设置

vs2008中使用gdi+ 1.新建一个mfc工程 2.在stdafx.h文件中加入以下几行语句:#include <gdiplus.h>                //#pragma comment(lib, "gdiplus.lib") //在工程属性中添加亦可using namespace Gdiplus;            //使用GDI+的命名空间, 若不用的话每次使用Gdiplus时均加上命名空间亦可 3.修改App类在App类(以下例子中为CTestA

对话框

模式对话框 创建 Win32:DialogBox() MFC:DoMoal() 销毁:EndDialog() 非模式  自己手动销毁 创建: Win32: CreateWindow() MFC: Create()   ShowWindow UpdateWindow 销毁:DestroyWindow() //颜色对话框 CColorDialog colDlg; if (IDOK == colDlg.DoModal()) { CString str("123"); CClientDC dc

绘图的相关类

1.1绘图设备类 CDC类 -- 绘图设备类,父类是CObject类.表示一般的绘图设备,如:打印机.显示器等 CWindowDC类 -- 窗口类,父类是CDC类.表示的是窗口区域,包括客户区和非客户区.一般界面的美化会使用该类. CClientDC类 -- 父类是CDC类.仅表示的是窗口区域的客户区 CPaintDC类 -- 父类是CDC类.仅表示的是窗口区域的客户区,只能在WM_PAINT的消息处理函数中使用 CMetaFileDC类 -- 父类是CDC类.与其它DC类区别最大,用来保存一些