关于MFC的一个简单画图程序,

新建了一个MFC的单文档类型的程序,在CView添加了LBUTTONDOWN和LBUTTONUP两个消息,添加了一个私有成员变量CPoint类型的a,在CView()里添... 新建了一个MFC的单文档类型的程序,在CView添加了LBUTTONDOWN和LBUTTONUP两个消息,添加了一个私有成员变量CPoint类型的a,在CView()里添加代码为:a=0;在LBUTTONDOWN里添加代码为:a=point;在LBUTTONUP里添加代码为HDC hdc;
hdc=::GetDC(m_hWnd);
MoveTOEX(hdc,a.x,a.y,NULL);
LineTo(hdc,point,x,point,y);
::releaseDC(m_hWnd,hdc);
问题如下:
1、在CView类的初始化时a=0,a为CPoint类型,而0是整形,貌似不可以直接赋值吧,何解?
2、在LBUTTONUP里,hdc=GetDC(m_hWnd)这一句中,显然m_hWnd是本实例的句柄,可是我在整个程序里也没有发现关于m_hWnd的,同理,在LBUTTONDOWN里a=point,意思显然是把鼠标单击的点的位置放在变量a里,可是为什么没有在程序里找到关于Point呢?
展开
 我来答
何处淬吴钩
2013-01-27 · TA获得超过5044个赞
知道大有可为答主
回答量:2947
采纳率:50%
帮助的人:2407万
展开全部
1、c++的运算符重载。只要重载了相应的运算符,都可以赋值。更极端,如果你在重载函数中对浮点型、字符型有处理,你也可以用这些类型直接赋值(具体哪些类型可以只有自己试或去看重载函数喽)。
2、m_hWnd是父类CView或CWnd的成员变量,是继承过来的,不能直接看到,但可以直接用。point应该是函数参数,来自于操作系统发送的消息。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
干啥得有名
2013-01-27
知道答主
回答量:11
采纳率:0%
帮助的人:8.5万
展开全部
1.类似一个类,最通俗来说是一个结构体,你如果想初始化只能用memset来初始化结构体或者类什么的,不可以直接把0复制给a。
2.m_hWnd的确是本实例的句柄,但是这个视图时间里在MainFrm类之上,所以你在视图类里写代码,你首先要获得MainFrm窗口类的实例才可以,也就是AfxGetMainWnd函数,它返回一个窗口指针,此时才会有m_hWnd选项。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式