d*****e 发帖数: 270 | 1 本例要实现的是如何创建定制的按钮(Button)。
l 要点
用户通过在类模块中实现ICommand接口来创建定制的按钮(COM command)。ICommand接
口包括 caption、 name、 category、 bitmap、 message(StatusBarr的提示信息)、
tooltip(微帮助)、 help context id 、help file、enabled以及checked等十个属性
和OnCreate、 OnClick两个事件。从Icommand接口的OnCreate事件中获取的ArcMap的
Application实例必须用一个公共变量保存,以便在其它事件中(或者其它接口的事件中甚
至整个工程中)使用。
·OnCreate事件的参数hook传入的是一个Object,也就是ArcMAP的Application实例,可
把它赋给一个IApplication接口的变量,便获得了ArcMAP的实例。
·在OnClick事件中写入相关代码,表示按下按钮时要实现的功能.
l 程序说明
程序在类模块中实现Icommand接口来创建自己的按钮(Button)
l |
|
d*****e 发帖数: 270 | 2 Tool既具有Button的功能,又具有与ArcMAP界面交互的功能,Button的功能代码必须写在
Icommand的OnClick事件中,而所有实现交互功能的代码必须写在Itool接口的各个事件中
。Itool接口的各个事件,用户可以在其中写入相关代码,表示用户与ArcMAP界面交互时一
旦触发某事件要实现的功能。
l 程序说明
程序在类模块中实现Icommand和Itool接口来创建自己的Tool.
l 代码
Option Explicit
'实现Icommand和Itool接口
Implements ICommand
Implements ITool
Dim m_pApplication As IApplication
Dim m_pBitmap As IPictureDisp
Dim m_pCursor As IpictureDisp
Private Sub Class_Initialize()
Set m_pBitmap = LoadResPicture(101, 0)
'从.RES文件中调入ID为102的图片作为按下Tool后的MouseCurso |
|
d*****e 发帖数: 270 | 3 l 要点
需要实现IMultiItem接口,但不需要同时实现Icommand接口。IMultiItem接口包括
Caption,itemCaption,ItemBitmap,ItemEnabled,ItemChecked, Message及Name等属性和
OnItemClick, OnPopup事件。
·itemCaption,ItemBitmap,ItemEnabled,ItemChecked等属性的参数index表示当前Item
的下标索引。
·OnPopup事件的参数hook同Icommand接口的OnCreate事件的参数hook一样,传入
ArcGIS的Application实例,同时,该事件返回将要显示的Item数目。
·OnItemClick事件的参数Index表示用户当前点击的Item的索引,用户根据该索引分别定
义点击各个Item时实现的功能。
l 程序说明
程序在类模块中实现IMultiItem接口来创建定制自己的MultiItem。
l 代码
Option Explicit
Implements IMultiItem
Private m_pApp As I |
|
a*****a 发帖数: 438 | 4 I don't know much about DAO since it's obsolete now in VC7.
You can, however, use OLEDB. JET (OLEDB Provider for Access/Excel/etc) supports
this by CreateDataSource(). SQLOLEDB would be easier - just issuing a command
and execute it (ICommand::Execute).
You can esearch MSDN for more information.. |
|
d*****e 发帖数: 270 | 5 本例要实现的是如何创建定制的ToolControl。ToolControl是指具有ComboBox的下拉列表
或 EditBox的编辑功能的一类控件。要创建定制的ToolControl,必须在类模块中实现
ICommand 和 IToolControl接口。IToolControl接口包括hWnd属性和OnDrop, OnFocus事
件。
l 要点
·IToolControl接口的hWnd属性,接受一个Window Handle。
·IToolControl接口的OnDrop事件,支持ToolControl的拖放,传入参数barType表示Bar
类型。
·IToolControl接口的OnFocus事件,传入IcompletionNotify类型的参数complete,可以
通过执行IcompletionNotify接口的SetComplete方法告之ArcMAP,ToolControl可以失去
Focus。
l 程序说明
本例中涉及三个模块,详细描述如下,其中,在类模块中实现了IToolBarDef接口来创建自
己的ToolControl。
l 代码
'1、frmImageCom |
|