关于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呢? 展开
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呢? 展开
2个回答
展开全部
1、c++的运算符重载。只要重载了相应的运算符,都可以赋值。更极端,如果你在重载函数中对浮点型、字符型有处理,你也可以用这些类型直接赋值(具体哪些类型可以只有自己试或去看重载函数喽)。
2、m_hWnd是父类CView或CWnd的成员变量,是继承过来的,不能直接看到,但可以直接用。point应该是函数参数,来自于操作系统发送的消息。
2、m_hWnd是父类CView或CWnd的成员变量,是继承过来的,不能直接看到,但可以直接用。point应该是函数参数,来自于操作系统发送的消息。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询