打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CPaintDC dc(this)中的this指针的含义解析
 

答1:this是指当前窗体对象,dc用带有this指针的构造函数进行构造,是指当前窗口的dc。

答2:用了this指针初始化后,你操作的dc就是当前窗体,也即当前窗体就是你的画布!

答3:每个类都有一个默认指针this指向自己。

答4:就是获取当前窗口的dc而已,可以用这个DC在当前窗口绘图。当然你也可以获取其它窗口的dc,只要传入其它窗口的指针就可以了。

同理CClientDC dc(this);中的this也是这个意思。

其实,控件就是一个子窗口,我们可以通过CClientDC在控件上绘图。参加下面代码:

 

void CXXXXXDlg::OnBnClickedButton1(){ // TODO: Add your control notification handler code hereCString sTemp; sTemp='我们的爱'; CWnd* pWnd1; pWnd1 = GetDlgItem(IDC_STATIC_SEX); //返回控件句柄 CClientDC dc1(pWnd1); dc1.TextOutW(0,0,sTemp);//在static控件上输出文字CClientDC dc2(this); dc2.TextOutW(0,0,sTemp);//在客户区上输出文字}


从上面可以看出,往哪里输出,取决于dc指向,在上面的例子中,dc1指向控件(子窗口),dc2指向对话话窗口(父窗口)。

其实CClientDC dc1(pWnd1);就相当于如下两条语句:

CDC* dc1;

dc1=pWnd1->GetDC();

 当然了,由于现在dc1被定义成指针变量,则dc1.TextOutW(0,0,sTemp);要改成dc1->TextOutW(0,0,sTemp);你懂的。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
在vc?picture控件内怎样自己绘图
CWnd,HWnd,CDC,HDC的关系
使用CDC的四个派生类CClientDC,CPaintDC,CWindowDC,CMetaFileD
VC++中有关句柄和指针及其转换
VC中用GDI函数实规高速平滑动画
VC的内存绘图防止屏幕闪烁技术的实现
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服