当前位置:编程学习 > VC++ >>

孙鑫 VC++第四讲 问题

在第四讲中的画直线实验,我按照实例写的程序在编译运行后,我要先点一次鼠标,再点然后拖动鼠标才能画出直线,然后我用原来提供的源代码运行,直接点击鼠标拖动就能画出直线,这个问题在哪里?我用的是VS2010SP1,相关代码如下: void CdrawView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 m_ptorigin=point; CListView::OnLButtonDown(nFlags, point); } void CdrawView::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 HDC hdc; hdc=::GetDC(m_hWnd); MoveToEx(hdc,m_ptorigin.x,m_ptorigin.y,NULL); LineTo(hdc,point.x,point.y); ::ReleaseDC(m_hWnd,hdc); CListView::OnLButtonUp(nFlags, point); }
补充:问题是这样,我昨晚又试了一次,我再描述一遍这个问题,孙鑫老师的程序中,点击——拖动,然后画出直线,在我的程序中,双击——拖动,然后画出直线,单击——拖动的话,出现的是虚线的矩形选择框,后来,我发现问题了,因为我在MFC APP WIZARD的时候,项目类型选的不是Visual Studio,就有这个问题。现在问题就变成了为什么选其他的项目类型的时候不行?额,谢谢各位之前的回答
答案:LZ的代码应该没有问题,可能和窗口类型有关吧,比如你点的第一 下是激活窗口,然后才画线之类 的,2010我没用过,也不清楚里面的App Wizard是个什么情况,LZ多试几次,找出一组解决方案即可。
其他:LZ应该没有添加鼠标移动的事件处理吧。 因为别人是在WM_MOUSEMOVE里处理的 发生 我也看过孙鑫老师的视频,并根据他的讲解做出了项目。至于你说的问题,相信你在搞清楚MFC的一些基本流程后会有所领会。

上一个:VC++ 如何进程名取PID
下一个:vc程序不对

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,