zoukankan      html  css  js  c++  java
  • ArcEngine中undo和redo的实现(转载)

            /// <summary>
            /// 撒消编辑
            /// </summary>
            /// <param name="m_pMap">IMap 地图对象</param>
            public void MapUndoEdit(IMap m_pMap)
            {
                IEngineEditProperties ep = new EngineEditorClass();
                ILayer m_pCurrentLayer = ep.TargetLayer;
                if (m_pCurrentLayer == null) return;
                IFeatureLayer pFeatureLayer = (IFeatureLayer)m_pCurrentLayer;
                IDataset pDataset = (IDataset)pFeatureLayer.FeatureClass;
                if (pDataset == null) return;
               
                IWorkspaceEdit pWorkspaceEdit = (IWorkspaceEdit)pDataset.Workspace;
                bool bHasUndos = false;
                pWorkspaceEdit.HasUndos(ref bHasUndos);
                if (bHasUndos)
                    pWorkspaceEdit.UndoEditOperation();
                IActiveView pActiveView = (IActiveView)m_pMap;
                pActiveView.Refresh();
            }

            /// <summary>
            /// 重做
            /// </summary>
            /// <param name="m_pMap">IMap 地图对象</param>
            public void MapRedoEdit(IMap m_pMap)
            {
                IEngineEditProperties ep = new EngineEditorClass();
                ILayer m_pCurrentLayer = ep.TargetLayer;
                if (m_pCurrentLayer == null) return;
                IFeatureLayer pFeatureLayer = (IFeatureLayer)m_pCurrentLayer;
                IDataset pDataset = (IDataset)pFeatureLayer.FeatureClass;
                if (pDataset == null) return;
                IWorkspaceEdit pWorkspaceEdit = (IWorkspaceEdit)pDataset.Workspace;
                bool bHasUndos = false;
                pWorkspaceEdit.HasUndos(ref bHasUndos);
                if (bHasUndos)
                    pWorkspaceEdit.RedoEditOperation();
                IActiveView pActiveView = (IActiveView)m_pMap;
                pActiveView.Refresh();
            }

  • 相关阅读:
    【NOIP2000】【vijos1347】乘积最大
    【JSOI2014】【BZOJ5039】序列维护(线段树模板)
    【NOIP2013】【Luogu1966】火柴排队(逆序对)
    【基础】排序算法学习笔记
    【Luogu1908】逆序对(树状数组求逆序对)
    【POJ2299】Ultra-QuickSort(逆序对,归并排序)
    【POJ1723】SOLDIERS(中位数,货仓选址)
    【HAOI2008】【BZOJ1045】糖果传递(环形纸牌均分)
    【codevs1004】四子连棋
    Jzoj4900 平方数
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1352318.html
Copyright © 2011-2022 走看看