VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 743|回复: 3

[求助] 为什么CDC只能用指针调用成员涵数,不能用对象调用成员涵数;CClientDC却可以用对象?

[复制链接]
75_avatar_middle
在线会员 发表于 2015-12-30 15:30:28 | 显示全部楼层 |阅读模式
3驿站币
为什么CDC只能用指针调用成员涵数,不能用对象调用成员涵数;
CDC dc();
dc.MoveTo(m_ptorigin);
dc.LineTo(point);
ReleaseDC(pDC);

CClientDC却可以用对象调用成员涵数;
CClientDC(this);
dc.MoveTo(m_ptorigin);
dc.LineTo(point)





上一篇:有谁写过【模拟PE加载器】??
下一篇:visual assist x插件是否有对可选参数提示的功能?
81_avatar_middle
online_moderator 发表于 2015-12-30 15:46:42 | 显示全部楼层
你看看 CClientDC 定义对象的时候,是这样的:
CClientDC(this);
很明显的,传进去了 this 指针,表明跟当前窗口关联起来了
而你定义的 CDC 对象呢?
CDC dc();
仅此是一个局部变量而已,跟当前窗口有关联吗?没有,所以肯定用不了了
75_avatar_middle
ico_lz  楼主| 发表于 2016-1-4 15:09:27 | 显示全部楼层
Debug 发表于 2015-12-30 15:46
你看看 CClientDC 定义对象的时候,是这样的:
CClientDC(this);
很明显的,传进去了 this 指针,表明跟 ...

CDialog有三个构造函数
CDialog( LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL );
CDialog( UINT nIDTemplate, CWnd* pParentWnd = NULL );
CDialog( );
只能用第三个构造函数,用前两个带参数的构造函数提示,不能带两个参数,不能用。那前两个构造函数有啥用呢?

81_avatar_middle
online_moderator 发表于 2016-1-6 23:12:38 | 显示全部楼层
cumulonimbus 发表于 2016-1-4 15:09
CDialog有三个构造函数
CDialog( LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL );
CDialog( UIN ...

前两个构造函数是用于把对话框类跟对话框资源模版关联起来的作用
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-3-20 06:01

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表