Visio中的Undo和Redo

1.Visio默认Undo和Redo操作是可用的,Appliacation中的UndoEnabled标志Undo和Redo操作是否可用。

m_Visio.Window.Application.UndoEnabled = True

2.Visio中启动事务,结束事务

Dim vsoTextShape As Visio.Shape
Dim UndoScopeID1 As Long
UndoScopeID1 = m_Visio.Window.Application.BeginUndoScope("添加文本形状")
Set vsoTextShape = m_Visio.Window.Application.ActiveWindow.Page.DrawRectangle(X2, Y2, X2 + 1, Y2 - 0.5)
vsoTextShape.TextStyle = "Normal"
vsoTextShape.LineStyle = "Text Only"
vsoTextShape.FillStyle = "Text Only"
vsoTextShape.CellsSRC(visSectionCharacter, 0, visCharacterColor).FormulaU = "2"
vsoTextShape.CellsSRC(visSectionCharacter, 0, visCharacterSize).FormulaU = "8 pt"
vsoTextShape.Characters = "两个输出不可连接"
m_Visio.Window.Application.EndUndoScope UndoScopeID1, True

这样在Undo和Redo操作时,添加文本形状,则以一个整体进行Undo和Redo记录操作,而不会把单元格属性等改变进行单独记录。

3.Visio中撤销所有的Undo队列,Application.PurgeUndo

m_Visio.Window.Application.PurgeUndo

4.操作排队开始事件和结束事件

Private Sub vsoApplication_EnterScope(ByVal app As Visio.IVApplication, ByVal nScopeID As Long, ByVal bstrDescription As String)
    ‘排队内部命令开始时,或当自动化客户端通过使用BeginUndoScope方法打开一个作用域。
    ‘ MsgBox (bstrDescription)
End Sub

Private Sub vsoApplication_ExitScope(ByVal app As Visio.IVApplication, ByVal nScopeID As Long, ByVal bstrDescription As String, ByVal bErrOrCancelled As Boolean)
    ‘排队内部命令结束时,或当自动化客户端通过使用EndUndoScope方法退出范围。
    ‘ MsgBox (bstrDescription)
End Sub
时间: 2024-12-20 04:19:00

Visio中的Undo和Redo的相关文章

Oracle 中UNDO与REDO的区别详解

    学习设计模式已经有段时间了,初接触设计模式,尽管例子简单.生动,但还是感觉很是抽象.今天又学习了设计模式中的装饰模式,也就是装饰模式让自己对模式略有所懂,装饰模式最大的特点就是把所有需要的功能都按正确的顺序串联起来进行控制.这里需要强调的是"顺序",也就是说这种装饰是建立在一定的顺序之上的,而且这种顺序是由人为控制的:不同于建造者模式,它的顺序是固定不变的. **概念     动态地给一个对象添加一些额外的职责,就增加的功能来说,装饰模式比生成子类更为灵活. **结构图    

Oracle 中UNDO与REDO的差别具体解释

一 为了更清楚的看出2者差别,请看下表: UNDO                                                                   REDO Record of How to undo a change How to reproduce a change Used for Rollback, Read-Consistency Rolling forward DB Changes Stored in Undo segments Redo log

理解数据库中的undo日志、redo日志、检查点

理解数据库中的undo日志.redo日志.检查点 2014-6-18 原文:https://www.letiantian.me/2014-06-18-db-undo-redo-checkpoint/ 数据库存放数据的文件,本文称其为data file.数据库的内容在内存里是有缓存的,这里命名为db buffer.某次操作,我们取了数据库某表格中的数据,这个数据会在内存中缓存一些时间.对这个数据的修改在开始时候也只是修改在内存中的内容.当db buffer已满或者遇到其他的情况,这些数据会写入da

Oracle中IMU技术和redo private strand技术

oracle030 oracle030 Oracle中IMU技术和redo private strand技术 3.图解Oracle IMU机制 select * from v$sysstat where name like '%IMU%'; STATISTIC#, NAME,       CLASS, VALUE, STAT_ID 312     IMU commits     128     393     1914489094 313     IMU Flushes     128    

命令模式-实现undo和redo

这次实验主要是实现多次redo和undo,即程序的撤回和恢复,这里只实现加法的撤回和恢复. 程序的撤回和恢复就是由所使用的软件来记录操作步骤,可以将数据恢复到某个操作状态. 撤回这个指令很常见,Windows系统常用的快捷键ctrl+z就可以实现撤回的效果 恢复目前只在word等文档编辑软件见到. 首先说一下命令模式的结构(参考该类图,使用starUML制作): Adder类是加法的计算和返回计算后的结果, AbstrCommand是抽象类,定义三个抽象方法,AddCommand类继承Abstr

[转]UML 中关系详解以及在visio中的表示

Uml 关系主要有四大类: 依赖,关联,泛化,实现. 其中 依赖和关联是事物之间语义上的横向关系,泛化和实现是事物之间的纵向关系. 一:依赖 Dependency 图示:-----> 定义:关系最为松散的,单向的,暂时产生关系的事物之间使用. 使用图例:在静态图.组件图.部署图中两事物的弱依赖关系用此图示. 二:关联 Association 图示:此图为visio中画法(在uml静态结构中,拖动复合图例,然后双击此图例,将出现下图,在关联端list中,聚合列都选择无,然后在isNavigable

如何在Visio中画矩阵

原创文章,欢迎转载,但是要写明出处哦! http://blog.csdn.net/chang_yuan_2011/article/details/45340685 今晚在画图时想要用Visio画一个矩阵,一开始不知道怎么画,在网上找了很久也没有找到教程,最后自己研究出来了,做一下笔记,希望对其他同学有帮助! 在Visio画一个矩阵的具体步骤如下: 1.现在visio中插入word对象 2.在插入word对象中插入公式 3.在公式中选择插入矩阵 大功告成!

Visio中相关设定

1.获取或设置窗口中页面的当前显示大小(缩放系数) Window.Zoom Dim dZoom As Double dZoom = m_Visio.Window.Zoom'获取显示比例 m_Visio.Window.Zoom = 1'设置显示比例 此设置相当于visio中设置缩放比例.默认返回值是1(即100%),最小为0.1,最大为2.915. 2.确定是否在窗口中显示形状连接点.可读写. Window.ShowConnectPoints m_Visio.Window.Application.

Visio中插入公式

MathType6.5 没试过. 在word中插入-对象-公式3.0对象,然后复制过去.不能直接插入公式(不管是word还是visio),然后复制进visio,不是进入visio的文本框. 有时候先在Visio中,画好了文本框,箭头也画好了,但是公式无法直接粘贴进文本框,如果完全删除文本框内容的话,那么对应的箭头也没了,这事可以吧文本框里生一个空格,然后公式就能拖过去了,文本框也没了(自己发现的). Visio插入到Word之前,先把各个框的背景色填充为无色,可能咱没有填充过,好像有些默认白色背