CDC class members

CDC class members

CDC,四大派生类CPaintDC CWindowDC  CClientDC

消息映射 消息与函数关联与win32的switch不同

win32下无class概念,MFC、C++更加方便

1.  CPaintDC 标准客户区绘图,刷新不消失,WM_PAINT中使用。简单封装了函数,构造和析构函数,成员变量:来源窗口句柄。构造函数:在基类中BeginPaint获取窗口句柄,得到hdc成为CDC,句柄同时被记录在m_hWnd中。析构函数:把产生的句柄嫁接,Afx  ,成员变量主要为了析构时做参数。意义在于成对调用的必然执行,不会漏掉后者。

2.  CWindowDC非客户区绘图。WM_NCPAINT中使用时刷新不消失,其他消息时都是临时性的。封装GetDC ReleaseDC.

3.  CClientDC 临时客户区绘图,刷新消失,任何时候使用。封装GetDC ReleaseDC. NCPAINT 非客户区绘图。

 void CMFCDlg:: WmNcPaint()  {}CWindowDC dc(this) ; CRect rect; GetWindowRect(rect); dc.Rectangle(0,0,rect.Width(),rect.Hight())

OffsetRect(-rect.left,-rect.top) 屏幕坐标系转化为非客户区坐标

Rectangle 功能更强大,可直接将rect指针作为参数。dc.Rectangle(&rect).

4.   CMemDC 关于内存


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值