📄 subject_20092.htm
字号:
<p>
序号:20092 发表者:lvrh 发表日期:2002-11-03 11:21:39
<br>主题:如何实现图形的整体移动?
<br>内容:我作了一张图,主要是一些直线,曲线和文字,图很长,我想实现浏览时可以移动整个图形,分别查看图形的各个部份,怎么实现?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:徐景周 回复日期:2002-11-04 15:07:44
<br>内容:主要判断鼠标是否选中图形,如果选中,记住当前鼠标位置,和移动后鼠标位置,将选中的图形偏移后重绘既可。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:hwj 回复日期:2002-11-04 15:46:13
<br>内容:最简单的方法是移动屏幕坐标系的原点,即CDC类的SetWindowOrg函数,用你的鼠标偏移量去修改坐标系的原点即可达到目的。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lvrh 回复日期:2002-11-06 10:46:36
<br>内容:SetWindowOrg函数怎么用,我用了不起作用?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:hwj 回复日期:2002-11-06 12:40:03
<br>内容:sorry, 我写错函数了,是SetViewportOrg,我测试过了,没有问题
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lvrh 回复日期:2002-11-06 13:26:46
<br>内容:在用了SetViewportOrg之后,是不是要重新绘图,或者刷新图形?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:hwj 回复日期:2002-11-06 16:11:49
<br>内容:具体做法如下:<BR> 1。定义一个CPoint orgPt;的变量记录当前原点位置,初始设置为(0,0)。<BR> 2。每次鼠标按下移动,将鼠标当前位置与上一次位置的x,y轴偏移量加到orgPt中。<BR> 3。调用Invalidate()刷新显示。<BR> 4。在你的Draw函数中调用SetViewportOrg(orgPt),然后调用你的绘图函数。<BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lvrh 回复日期:2002-11-06 18:07:18
<br>内容:我再试试
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lvrh 回复日期:2002-11-07 14:25:38
<br>内容:我用timer事件可以让一条线自动移动了,但是用鼠标移动不行。我在mouseup事件中这样写:<BR> CDC *dc;<BR> dc=GetDC();<BR> p2=point;<BR> org.x+=p2.x-p1.x;<BR> org.y+=p2.y-p1.y;<BR> Invalidate(true);<BR> dc->SetViewportOrg(org);<BR> drawline();
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lvrh 回复日期:2002-11-07 14:29:09
<br>内容:不好意思,刚才调试成功了,多谢!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -