阅读:4147回复:15
我们经常见的编辑菜单中"撤消"与"恢复"是如何工作的?
<P>如题所说.小弟现在做一个鼠标操作的东东.要实现撤消与恢复.不知从何下手.望各位高人给个思路.对象是C#与MO2.3下的加点,移点或删点等操作.谢谢!</P>
|
|
1楼#
发布于:2004-07-30 09:41
<P>没用c#做过,vb倒是做过这个</P>
|
|
|
2楼#
发布于:2004-07-30 18:30
版主,VB下你是如何做的?能说一下你的思路吗?多谢!
|
|
3楼#
发布于:2004-08-02 17:24
帮顶
|
|
4楼#
发布于:2004-08-03 14:36
ARRAY数组
|
|
5楼#
发布于:2004-08-04 16:12
ARRAY数组 ?,具体思路可以说一下吗?楼上的高人!
|
|
6楼#
发布于:2004-08-06 08:09
array数据的方法的确是可以,由于最近没用mo,也没装vb,改天贴上代码
|
|
|
7楼#
发布于:2004-08-06 08:25
<P>谢谢GIS!</P>
|
|
|
8楼#
发布于:2004-08-09 09:14
多谢!急等!
|
|
9楼#
发布于:2004-08-09 09:21
<P>程序很多,点线面的redo和undo都要写,这里贴上两个函数看看先</P><P>'添加线
Function UAddLine(map As MapObjects2.map, layerNum As Long, Line As MapObjects2.Line) On Error GoTo exit1 Dim lineNew As New MapObjects2.Line</P><P> Set m_map = map Dim recs As MapObjects2.Recordset Set recs = map.Layers(layerNum).Records CopyLine lineNew, Line pushTypeAStep utAddLine pushInt layerNum pushObject lineNew pushEnd recs.Edit recs.AddNew Set recs.Fields("Shape").Value = lineNew recs.Update recs.StopEditing Refresh map Set lineNew = Nothing exit1: End Function</P><P>Private Function URAddLine(map As MapObjects2.map) 'redo On Error GoTo exit1 Dim typea, layerNum As Long</P><P>Dim Line As MapObjects2.Line</P><P> typea = pipType layerNum = pipInt Set Line = pipObject pipEnd</P><P>Dim recs As MapObjects2.Recordset Set recs = map.Layers(layerNum).Records recs.Edit recs.AddNew Set recs.Fields("Shape").Value = Line recs.Update recs.StopEditing Refresh map exit1: End Function</P> |
|
|
上一页
下一页