十万火急,请大侠指教
我想大我数的朋友们都编过画笔的了,因为这是一个很基本的程序,不过上面的代码我有一点看不明白,请指教一下:
首先创建二个对象:
CViw.h
public:
CPoint StartPt,EndPt;
Void CMyPenView::OnLButtonDown(UINT nFlags,CPoint point)
{
StartPt.x=point.x;
StartPt.y=poitn.y;
//这里point给了StartPt,有什么用?,其中CPoint究竟做什么的?
}
void CMyPenView::OnMouseMove(UINT nFlags,CPoint)
{
CClientDc dc(this);
EndPt.x=point.x;
EndPt.y=point.y; //这两个语句有什么用?如果是为了指EndPt作为dc.Line()的参数的
if(StartPt.x>=0) //话,去掉这两句,再变为dc.LineTo(Point),这样不也可以吗??
{
dc.MoveTo(StartPt.x,Start.Pt.y);
dc.LineTo(Endpt);
startPt.x=EndPt.x;
StartPt.y=EndPt.y;
}
CView::OnMouseMove(nFlags,point);
}
问题点数:20、回复次数:5Top
1 楼iceangellion(龙马)回复于 2002-03-31 22:23:08 得分 0
谢谢你的回答Top
2 楼phoenixzz(小百货)回复于 2002-03-31 22:32:29 得分 10
CPoint是你鼠标单击的位置
EndPt.x=point.x;
EndPt.y=point.y; 这两句是为了让线在鼠标移动时动态显示时记录鼠标的当前位置.
Top
3 楼fireseed(【VC无敌,英明神武,千秋万代,一统江湖!】—奶油狗)回复于 2002-03-31 22:36:28 得分 0
/********************感谢关注*********************/
/////////////////////creamdog//////////////////////
StartPt是记录你鼠标先前的位置,如果没有这个,是从哪连到哪呀?你那样做是画点,而不是画线!Top
4 楼jenut()回复于 2002-03-31 22:40:08 得分 0
这就是常说的橡皮筋的原理阿Top
5 楼xpf_2000(萧丰)回复于 2002-04-01 13:15:52 得分 10
前一个EndPt将变成下一个StartPt,你去掉了,下一条线怎么画?Top
6 楼iceangellion(龙马)回复于 2002-04-01 14:36:27 得分 0
我明白了,谢谢各位!!Top




