首页 > 其他分享 >pageLayoutControl保存mxd

pageLayoutControl保存mxd

时间:2024-10-29 12:49:53浏览次数:1  
标签:PageLayoutDocument 保存 private hookMap hookHelper mxd null public pageLayoutContr

namespace Business.OutputMap
{
    [Guid("068df737-4a05-4d23-b906-e96693bfabe5")]
    [ClassInterface(ClassInterfaceType.None)]
    [ProgId("OutputMap.SaveMapMxdCommand")]
    public sealed class SaveMapMxdCommand : BaseCommand, IBarButtonItem, IShortCut
    {
        #endregion

        private IHookHelper m_hookHelper;
        //private IMapControl3 m_MapControl = null;
        private IMapDocument m_PageLayoutDocument = null;
        private IPageLayoutControl2 m_PageLayoutControl = null;
        public SaveMapMxdCommand(IMapDocument mxdDoc)
        {
        }

        #region Overriden Class Methods

        /// <summary>
        /// 勾子,命令创建的时候触发
        /// </summary>
        /// <param name="hook">Instance of the application</param>
        public override void OnCreate(object hook)
        {
            if (hook == null)
                return;

            if (m_hookHelper == null)
                m_hookHelper = new HookHelperClass();

            m_hookHelper.Hook = hook;

            // TODO:  Add other initialization code
            object hookMap = null;
            if (m_hookHelper.Hook is IToolbarControl2)
                hookMap = (m_hookHelper.Hook as IToolbarControl2).Buddy;
            else
                hookMap = m_hookHelper.Hook;

            if (hookMap is IPageLayoutControl2)
                this.m_PageLayoutControl = hookMap as IPageLayoutControl2;
            //if (hookMap is IMapControl3)
            //    m_MapControl = hookMap as IMapControl3;
        }

        /// <summary>
        /// Occurs when this command is clicked
        /// </summary>
        public override void OnClick()
        {

            //IObjectCopy lip_ObjCopy = new ObjectCopyClass();
            //IMxdContents pMxdContents = ((IMap)lip_ObjCopy.Copy(this.m_hookHelper.ActiveView.FocusMap)) as IMxdContents;
            //m_PageLayoutDocument.ReplaceContents(pMxdContents);
            //m_PageLayoutDocument.Save(m_PageLayoutDocument.UsesRelativePaths, false);

            m_PageLayoutDocument.ReplaceContents((IMxdContents)m_PageLayoutControl.Object);
            m_PageLayoutDocument.SetActiveView(m_PageLayoutControl.ActiveView);
            m_PageLayoutDocument.Save(m_PageLayoutDocument.UsesRelativePaths, true);
        }

        public override bool Enabled
        {
        }

        #endregion
    }
}

 

标签:PageLayoutDocument,保存,private,hookMap,hookHelper,mxd,null,public,pageLayoutContr
From: https://www.cnblogs.com/yansc/p/18512700

相关文章

  • C++之OpenCV入门到提高002:加载、修改、保存图像
    一、介绍今天是这个系列《C++之Opencv入门到提高》得第二篇文章。今天这个篇文章很简单,只是简单介绍如何使用Opencv加载图像、显示图像、修改图像和保存图像,先给大家一个最直观的感受。但是,不能认为很简单,只是让学习的过程没那么平滑一点,以后的路就好走了。OpenCV具......
  • 学习笔记489—MATLAB针对大于2GB变量保存的问题
    MATLAB针对大于2GB变量保存的问题新安装的MATLAB中保存2GB以上大小的数据时会出现如下警告:未保存变量xx,对于大于2GB的变量,请使用MAT-file版本7.3或更高版本。其解决方案是:进入MATLAB主页,点击“预设”选项:点击常规后,点击MAT-File,选择第一个格式即可。 参考链接:https:/......
  • 用程序保存你喜欢的NBA球星
    代码示例:packageplay;importjava.util.HashMap;importjava.util.Map;importjava.util.Scanner;publicclassbasketballplayer{publicstaticvoidmain(String[]args){System.out.println("你喜欢的球星");Map<Str......
  • 如何保存并退出各大编辑器
    输入update-alternatives--listeditor查看当前系统下有什么编辑器。将list改为config(或display)可以看到输出的某一行是当前的默认编辑器。很可惜你并没有sudo权限将默认编辑器改为你最喜欢的。以下是NOILinux2.0下存在的部分编辑器:update-alternatives--confige......
  • 织梦数据库保存文件在哪里?织梦数据库怎么连接
    不同版本的织梦CMS数据库连接文件的位置和内容有所不同。以下是各版本的具体位置和配置文件内容:各版本数据库连接文件位置织梦CMSV5.1:include/config_base.php织梦CMSV5.3:data/common.inc.php织梦CMSV5.5:data/common.inc.php织梦CMSV5.6:data/common.inc.php数据库连接......
  • 如何将网页保存为纯净版PDF
    1问题描述当我们看到一篇不错的博客,我们可能会想到把他保存下来方便后面忘记了回来温习。保存的方式有很多种,可以直接收藏网页,如果这个博客是个纯文字版的那直接把文字复制然后本地创建一个文档保存下来就行。然而,这两种方式各自都存在不便之处。对于第一种保存的方式,网络......
  • 34.第二阶段x86游戏实战2-游戏数据保存与定位(特征码定位基址)
    免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!本次游戏没法给内容参考于:微尘网络安全本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。工具下载:链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3提取码:6tw3复制这......
  • PowerShell 把指定目录下指定后缀的文件内容,保存到新文件中
    ps#指定源目录和输出文件路径$projectName="xxx"$sourceDirectory="C:\Projects\"+$projectName$outputFile="C:\Output\"+$projectName+".txt"#确保输出目录存在$outputDirectory=Split-Path-Path$outputFileif(-not(......
  • 【泛微E9】ESB中心自定义接口无法保存的解决方法
    问题描述:ESB中心自定义接口保存失败,前端F12看请求状态码404解决方法:安全包拦截导致,处理方法如下:将weaver_isFix_integration_action.properties文件放到ecology/WEB-INF/prop目录下找到拦截日志:\ecology\WEB-INF\securitylog\systemSecurityxxx.log搜索最近一次出现的......
  • 在Windows系统中,打印机打印的痕迹通常会保存在以下几个文件夹或位置:
    在Windows系统中,打印机打印的痕迹通常会保存在以下几个文件夹或位置:打印队列:路径:C:\Windows\System32\spool\PRINTERS此文件夹存储所有待打印的文档的临时文件。需要管理员权限才能访问。打印日志:Windows的事件查看器中可以找到打印事件的日志。路径:控制面板 > 管......