zoukankan      html  css  js  c++  java
  • AE中IHookHelper的用法 来自http://blog.sina.com.cn/s/blog_6faf711d0100xs1x.html

    IHookHelper 主要在用在自定义类型于AE带的的ICommand或ITool等,

    1.实例化IHookHelper 对象:


    IHookHelper m_hookHelper = new HookHelperClass(); 
    m_hookHelper.Hook = this.axMapControl1.Object ;这样就可以把AxMapControl传递给其它要用到的地方。

    2.通过IHookHelper,获取地图控件和主窗体:

    IntPtr pHandle = new IntPtr (m_hookHelper.ActiveView.ScreenDisplay.hWnd);
    axMapControl1 = System.Windows.Forms.Form.FromHandle(pHandle) as AxMapControl;//对这个地图控件对象操作,会直接反应到主窗体的地图控件上

    Form. MainForm. = Form.FromHandle(pHandle).FindForm();//这里的主窗体对象之后运行时能起作用,MainForm. 不能直接访问到主窗体里的变量。

    3.通过IHookHelper,获取IActiveView和IMap对象

    再通过IHookHelper.ActiveView和IHookHelper.FocusMap属性来获取IActiveView和IMap对象,通过这两个接口进行更一步的操作.


    4.通过IHookHelper,操作地图

    IHookActions hookActions= m_hookHelper as IHookHelper;
    获取IHookActions,再通过IHookActions进行Flash,Pan,ZoomTo操作.

    HOOK实际是一个对象传出的自身的引用或者叫指针或者叫句柄。 
    例如一个程序,加载一个dll内的对象时通过把Hook传递给要调用的对象,
    这样dll内的对象就得到了应用程序传递给他的这个hook,
    对象可以通过这个hook查看程序内部的结构。
    实际实现时就是对象间传递指向自身的指针传递给另一个对象。

    IHookHelper  m_hookHelper=new HookHelperClass();
    m_hookHelper.Hook=axMapControl1.Object;
     //这样就获得了axMapControl1控件的一个引用
    然后通过m_hookHelper.ActiveView可以获得原axMapControl1的ActiveView项,
    用m_hookHelper.FocusMap可以获得IMap对象 


    Provides access to members needed when developing commands to work with the MapControl, PageLayoutControl, ArcMap, and custom controls and applications.

    Product Availability

    Available with ArcGIS Engine.

    Description

    Use the IHookHelper interface to return the ActiveView, PageLayout or FocusMap of the hook passed to the ICommand::OnCreate event regardless of whether the hook is a MapControl, PageLayoutControl, ToolbarControl or ArcMap.

  • 相关阅读:
    POJ1521 最优哈夫曼编码树 贪心算法的有效应用
    hdu4911逆序对+mergesort
    hdu1735 字数统计 贪心算法
    最大不相交区间数+最少区间数覆盖问题 贪心思想
    洛谷1010 幂次方 分治算法+掩码的应用
    POJ 2082 三种解法(暴力+树状数组+线段树)
    POJ3134 Power Calculus IDA*搜索的一个应用
    hdu2648 STL map的简单应用
    Delphi 数据类型与Windows 数据类型 对照
    Delphi Window Messages 消息
  • 原文地址:https://www.cnblogs.com/gisoracle/p/4772146.html
Copyright © 2011-2022 走看看