一、 IComboBox 接口(SystemUI)
-
解释
提供对定义 COM 组合框的成员的访问。提供项目下拉列表,并可以选择提供可编辑的输入区域。若要创建组合框,需要在类代码中实现 ICommand 接口和 IComboBox 接口。
-
属性和方法
序号 名称 描述 1 DropDownHeight 属性 组合框的下拉高度 2 DropDownWidth属性 组合框的下拉宽度 3 Editable 属性 组合框是否可编辑 4 HintText属性 设置编辑框中显示的提示 5 OnEditChange 方法 在键入编辑框时由系统调用(如果可编辑) 6 OnEnter 方法 在编辑框中按下 键时由系统调用(如果可编辑) 7 OnFocus 方法 当获得或失去焦点时由系统调用 8 OnSelChange 方法 当选择更改时由系统调用 9 ShowCaption 属性 指示将此组合框放置在工具栏上时是否显示标题 10 Width 属性 组合框的宽度。 二、ICommand 接口
-
解释
提供对定义 COM 命令的成员的访问。ICommand 是所有 ArcGIS for Desktop 应用程序的工具条和菜单上显示的大多数自定义(命令)实现的主要界面。有几种类型的命令:
-
按钮和菜单项是最简单的命令类型。按钮通常显示为工具栏上的图标,菜单项显示在菜单中。单击按钮或菜单项时,将执行一个简单的操作。
-
工具类似于按钮,但它们也需要与应用程序的显示进行交互。“放大”命令是一个很好的工具示例,在重新绘制显示之前,单击或拖动地图上的矩形以更详细地显示地图内容。工具还必须实现 ITool。
-
工具控件是类似于组合框或编辑框的命令。组合框允许您从下拉列表中选择一个选项。
创建新的 COM 命令时,必须实现 类代码中的 ICommand 接口。此接口确定 简单命令(如按钮和 菜单项。例如,ICommand 接口设置命令 属性,如标题、名称、类别、位图、状态栏 消息、工具提示、帮助上下文 ID 和帮助文件、启用状态和 已检查状态。它还定义了命令时发生的操作 被点击。
-
-
属性和方法
序号 名称 描述 1 Bitmap 属性 用作此命令图标的位图 2 Caption 属性 此命令的标题 3 Category 属性 与此命令关联的类别的名称 4 Checked 属性 指示是否选中此命令 5 Enabled 属性 指示是否启用此命令 6 Message 属性 此命令的状态栏消息 7 Name 属性 这个commmand的名字 8 OnClick 方法 单击此命令时发生 9 OnCreate 方法 创建此命令时发生 10 Tooltip 属性 此命令的工具提示
3.常用代码
-
下面的代码获取应用程序的挂钩。
private IApplication m_app; public void OnCreate(object hook) { // The hook argument is a pointer to Application object. m_app = hook as IApplication; }
-
以下示例仅在以下情况下启用该命令 至少加载到 ArcMap 中的一个数据图层。
private IApplication m_pApp; //ArcMap application public bool Enabled() { //pApp is set in OnCreate IMxDocument mxDoc = m_pApp.Document As IMxDocument; int layerCount = pMxDoc.FocusMap.LayerCount; if (pLayerCount > 0) return true; else return false; }
三、IComboBoxHook 接口
-
说明
提供对系统提供的组合框进行编程的方法。
-
属性和方法
序号 名称 描述 1 Add 方法 向组合框中添加元素 2 Clear 方法 清除所有项目的组合框 3 Hook 属性 获取应用程序挂钩 4 Remove 方法 从组合框中删除元素 5 Select 方法 在组合框中选择一个项目 6 Selected 属性 获取组合框中的当前选定项cookie 7 Value 属性 设置编辑控件的值字符串
四、ICommandSubType 接口
-
说明
提供对定义子类型化命令的成员的访问。ICommandSubType 接口用于在单个类中具有多个命令时。您将在类中实现 ICommand 和 ICommandSubType。使用 ICommandSubType 接口,可以指定有多少个子类型。然后,在实现每个 ICommand 属性中,您将为每个子类型设置属性,而不是多次实现 ICommand 接口。
-
属性和方法
序号 名称 描述 1 GetCount 方法 使用此 CLSID 定义的命令数 2 SetSubType 方法 命令的子类型
-