如何创建定制的按钮(Button)
如何创建定制的按钮(Button) 本例要实现的是如何创建定制的按钮(Button)。 l 要点 用户通过在类模块中实现ICommand接口来创建定制的按钮(COM command)。ICommand接口包括 caption、 name、 category、 bitmap、 message(StatusBarr的提示信息)、 to...
- 作者:gis来源:GIS帝国|2007年09月22日
本例要实现的是如何创建定制的按钮(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 代码
Private Property Get ICommand_Name() As String Private Sub ICommand_OnClick() Private Sub ICommand_OnCreate(ByVal hook As Object) Private Property Get ICommand_Tooltip() As String Private Sub ITool_OnDblClick() Private Sub ITool_OnKeyDown(ByVal keyCode As Long, ByVal Shift As Long) Private Sub ITool_OnKeyUp(ByVal keyCode As Long, ByVal Shift As Long) Private Sub ITool_OnMouseDown(ByVal Button As Long, ByVal Shift As Long, _ End Sub Private Sub ITool_OnMouseMove(ByVal Button As Long, ByVal Shift As Long, _ Private Sub ITool_OnMouseUp(ByVal Button As Long, ByVal Shift As Long, _ Private Sub ITool_Refresh(ByVal hDC As esriCore.OLE_HANDLE) |