孙鑫 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,就有这个问题。现在问题就变成了为什么选其他的项目类型的时候不行?额,谢谢各位之前的回答 展开
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,就有这个问题。现在问题就变成了为什么选其他的项目类型的时候不行?额,谢谢各位之前的回答 展开
5个回答
展开全部
LZ应该没有添加鼠标移动的事件处理吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为别人是在WM_MOUSEMOVE里处理的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也看过孙鑫老师的视频,并根据他的讲解做出了项目。至于你说的问题,相信你在搞清楚MFC的一些基本流程后会有所领会。
参考资料: 自己体会
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询