|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IMapControlEvents2
Provides access to events that occur with interaction to the MapControl.
This is the main events interface for the MapControl. Generally there is no need to explicitly set event handlers, as most development environments will automatically provide event handlers.
Method Summary | |
---|---|
void |
onAfterDraw(IMapControlEvents2OnAfterDrawEvent theEvent)
Fires after the Map draws a specified view phase. |
void |
onAfterScreenDraw(IMapControlEvents2OnAfterScreenDrawEvent theEvent)
Fires after the Map contained by the MapControl has finished drawing. |
void |
onBeforeScreenDraw(IMapControlEvents2OnBeforeScreenDrawEvent theEvent)
Fires before the Map contained by the MapControl starts to draw. |
void |
onDoubleClick(IMapControlEvents2OnDoubleClickEvent theEvent)
Fires when the user presses and releases the mouse button twice in quick succession. |
void |
onExtentUpdated(IMapControlEvents2OnExtentUpdatedEvent theEvent)
Fires after the extent (visible bounds) of the MapControl is changed. |
void |
onFullExtentUpdated(IMapControlEvents2OnFullExtentUpdatedEvent theEvent)
Fires after the full extent (bounds) of the MapControl has changed. |
void |
onKeyDown(IMapControlEvents2OnKeyDownEvent theEvent)
Fires after a key is pressed on the keyboard. |
void |
onKeyUp(IMapControlEvents2OnKeyUpEvent theEvent)
Fires after a pressed key is released. |
void |
onMapReplaced(IMapControlEvents2OnMapReplacedEvent theEvent)
Fires after the Map contained by the MapControl has been replaced. |
void |
onMouseDown(IMapControlEvents2OnMouseDownEvent theEvent)
Fires when the user presses any mouse button while over the MapControl. |
void |
onMouseMove(IMapControlEvents2OnMouseMoveEvent theEvent)
Fires when the user moves the mouse over the MapControl. |
void |
onMouseUp(IMapControlEvents2OnMouseUpEvent theEvent)
Fires when the user releases a mouse button while over the MapControl. |
void |
onOleDrop(IMapControlEvents2OnOleDropEvent theEvent)
Fires when an OLE drop action occurs on the MapControl. |
void |
onSelectionChanged(IMapControlEvents2OnSelectionChangedEvent theEvent)
Fires when the current selection changes. |
void |
onViewRefreshed(IMapControlEvents2OnViewRefreshedEvent theEvent)
Fires when the view is refreshed before drawing occurs. |
Method Detail |
---|
void onMouseDown(IMapControlEvents2OnMouseDownEvent theEvent) throws IOException, AutomationException
The OnMouseDown event is triggered when the user presses a mouse button on the MapControl. Use the event to specify actions that will occur when a given mouse button is pressed.
button specifies which mouse button was pressed. 1 for the left mouse button, 2 for the right mouse button, and 4 for the middle mouse button.
shift specifies an integer corresponding to the state of the SHIFT (bit 0), CTRL (bit 1) and ALT (bit 2) keys. When none, some or all of these keys are pressed none, some or all the bits get set. These bits correspond to the values 1, 2, and 4, respectively. For example, if both SHIFT and ALT were pressed, ShiftState would return 5.
x is the X coordinate, in pixels, where the mouse button was pressed referenced against the origin (0, 0) of the MapControl (the top left hand corner).
y is the Y coordinate, in pixels, where the mouse button was pressed referenced against the origin (0, 0) of the MapControl (the top left hand corner).
mapX is the X coordinate, in map units, where the mouse button was pressed referenced against the origin (bottom left hand corner) of the IMapControl2::Map. The values returned are in IMapControl2::MapUnits.
mapY is the Y coordinate, in map units, where the mouse button was pressed referenced against the origin (bottom left hand corner) of the IMapControl2::Map. The values returned are in IMapControl2::MapUnits
Use the win32 SetCapture function to continue receiving mouse events (until the mouse is released) when the mouse is moved outside the control's display area. The win32 ReleaseCapture function releases the mouse.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onMouseUp(IMapControlEvents2OnMouseUpEvent theEvent) throws IOException, AutomationException
The OnMouseUp event is triggered when the user releases a mouse button on the MapControl. Use the event to specify actions that will occur when a given mouse button is released.
button specifies which mouse button was pressed. 1 for the left mouse button, 2 for the right mouse button, and 4 for the middle mouse button.
shift specifies an integer corresponding to the state of the SHIFT (bit 0), CTRL (bit 1) and ALT (bit 2) keys. When none, some or all of these keys are pressed none, some or all the bits get set. These bits correspond to the values 1, 2, and 4, respectively. For example, if both SHIFT and ALT were pressed, ShiftState would return 5.
x is the X coordinate, in device units, where the mouse button was pressed referenced against the origin (0, 0) of the MapControl (the top left hand corner).
y is the Y coordinate, in device units, where the mouse button was pressed referenced against the origin (0, 0) of the MapControl (the top left hand corner).
mapX is the X coordinate, in map units, where the mouse button was pressed referenced against the origin (bottom left hand corner) of the IMapControl2::Map. The values returned are in IMapControl2::MapUnits.
mapY is the Y coordinate, in map units, where the mouse button was pressed referenced against the origin (bottom left hand corner) of the IMapControl2::Map. The values returned are in IMapControl2::MapUnits
Use the win32 SetCapture function to continue receiving mouse events (until the mouse is released) when the mouse is moved outside the control's display area. The win32 ReleaseCapture function releases the mouse.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onMouseMove(IMapControlEvents2OnMouseMoveEvent theEvent) throws IOException, AutomationException
The OnMouseMove event is triggered continually as the mouse moves over the MapControl.
button specifies which mouse button was pressed. 1 for the left mouse button, 2 for the right mouse button, and 4 for the middle mouse button.
shift specifies an integer corresponding to the state of the SHIFT (bit 0), CTRL (bit 1) and ALT (bit 2) keys. When none, some or all of these keys are pressed none, some or all the bits get set. These bits correspond to the values 1, 2, and 4, respectively. For example, if both SHIFT and ALT were pressed, ShiftState would return 5.
x is the X coordinate, in device units, where the mouse button was pressed referenced against the origin (0, 0) of the MapControl (the top left hand corner).
y is the Y coordinate, in device units, where the mouse button was pressed referenced against the origin (0, 0) of the MapControl (the top left hand corner).
mapX is the X coordinate, in map units, where the mouse button was pressed referenced against the origin (bottom left hand corner) of the IMapControl2::Map. The values returned are in IMapControl2::MapUnits.
mapY is the Y coordinate, in map units, where the mouse button was pressed referenced against the origin (bottom left hand corner) of the IMapControl2::Map. The values returned are in IMapControl2::MapUnits
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onDoubleClick(IMapControlEvents2OnDoubleClickEvent theEvent) throws IOException, AutomationException
button specifies which mouse button was pressed. 1 for the left mouse button, 2 for the right mouse button, and 4 for the middle mouse button.
shift specifies an integer corresponding to the state of the SHIFT (bit 0), CTRL (bit 1) and ALT (bit 2) keys. When none, some or all of these keys are pressed none, some or all the bits get set. These bits correspond to the values 1, 2, and 4, respectively. For example, if both SHIFT and ALT were pressed, ShiftState would return 5.
x is the X coordinate, in pixels, where the mouse button was pressed referenced against the origin (0, 0) of the MapControl (the top left hand corner).
y is the Y coordinate, in pixels, where the mouse button was pressed referenced against the origin (0, 0) of the MapControl (the top left hand corner).
mapX is the X coordinate, in map units, where the mouse button was pressed referenced against the origin (bottom left hand corner) of the IMapControl2::Map. The values returned are in IMapControl2::MapUnits.
mapY is the Y coordinate, in map units, where the mouse button was pressed referenced against the origin (bottom left hand corner) of the IMapControl2::Map. The values returned are in IMapControl2::Units
The OnDoubleClick event is triggered when the user releases and presses a mouse button and then presses and releases it again on the MapControl. If the double click does not occur within the system's double click time limit, the MapControl will recognise another OnMouseDown event. Otherwise the event sequence is as follows:
OnMouseDown
OnMouseUp
OnDoubleClick
OnMouseUp
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onSelectionChanged(IMapControlEvents2OnSelectionChangedEvent theEvent) throws IOException, AutomationException
OnSelectionChanged is triggered when the geographic selection of features in the IMapControl2::Map layers change.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onViewRefreshed(IMapControlEvents2OnViewRefreshedEvent theEvent) throws IOException, AutomationException
The OnViewRefreshed event is based upon the IActiveViewEvents::ViewRefreshed event. The event is triggered when the IMapContro2::Map is refreshed before the OnAfterDraw events.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onBeforeScreenDraw(IMapControlEvents2OnBeforeScreenDrawEvent theEvent) throws IOException, AutomationException
OnBeforeScreenDraw is triggered before the IDisplayEvents::DisplayStarted event is called on the map's screen display. The hdc represents the device context on the screen display.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onAfterScreenDraw(IMapControlEvents2OnAfterScreenDrawEvent theEvent) throws IOException, AutomationException
OnAfterScreenDraw is triggered after the IDisplayEvents::DisplayFinished event is called on the map's screen display. The hdc represents the device context on the screen display.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onAfterDraw(IMapControlEvents2OnAfterDrawEvent theEvent) throws IOException, AutomationException
The OnAfterDraw event is fired after a specified phase has been drawn on the Map's screen display and is based upon the IActiveViewEvents::AfterDraw event. You must query interface for the IDisplay interface and base the viewDrawPhase on the esriViewDrawPhase constants.
In some circumstances there maybe a need to execute some code after each individual layer in a map has drawn. To do this you need to set the IViewManager::VerboseEvents property to true and use the IActiveViewEvents::AfterItemDraw event.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onExtentUpdated(IMapControlEvents2OnExtentUpdatedEvent theEvent) throws IOException, AutomationException
OnExtentUpdated is triggered whenever the IMapControl2::Extent property is changed. Setting the extent explicitly, zooming, panning or using the IMapControl2::CenterAt method will change the extent.
The envelope that gets passed into the newEnvelope event parameter is identical to the envelope returned by the IDisplayTransformation::VisibleBounds property. In the context of the ControlsMapZoomInTool or ControlsMapZoomOutTool commands, this is the extent of the rectangle drawn by the user. When the zoom action is performed, the digitized extent is modified to match the aspect ratio of the display. Both the IMapControl2::Extent or IDisplayTransformation::FittedBounds properties return the true visible extent of the display.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onFullExtentUpdated(IMapControlEvents2OnFullExtentUpdatedEvent theEvent) throws IOException, AutomationException
OnFullExtentUpdated is triggered whenever IMapControl2::FullExtent is set. For example, the event is triggered when a layer is added to the map's layer collection and its data extent is greater than any of the other layers in the layer collection.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onOleDrop(IMapControlEvents2OnOleDropEvent theEvent) throws IOException, AutomationException
If the IMapControl2::OleDropEnabled property is set to False the OnOleDrop event will not be triggered, and the esriDragDropNone effect will display when data is dragged over the control.
If the IMapControl2::OleDropEnabled property is set to True the esriControlsDragDropEffect must be set each time the OnOleDrop event is triggered.
Use the esriControlsDropAction constant to determine whether the data is entering or leaving the control, or whether data is being dragged over or dropped onto the MapControl.
Use the esriDropOver dropAction to display mouse coordinates while data is being dragged over the MapControl from another application, as the OnMouseMove event will not be triggered.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onKeyDown(IMapControlEvents2OnKeyDownEvent theEvent) throws IOException, AutomationException
The OnKeyDown event is triggered when the user presses a key whilst the MapControl has focus.
keyCode specifies a virtual key code value of the key pressed on the keyboard. For alpha-numeric keys this corresponds to the ASCII value, for example "A" key returns 65 which is the ASCII value for capital A. Other key codes are F1 to F12 are 112 to 123 respectively.
Shift specifies an integer corresponding to the state of the SHIFT (bit 0), CTRL (bit 1) and ALT (bit 2) keys. When none, some or all of these keys are pressed none, some or all the bits get set. These bits correspond to the values 1, 2, and 4, respectively. For example, if both SHIFT and ALT were pressed, ShiftState would return 5.
Some development environments will filter out keystrokes. Typically the arrow keys are used to change control focus and will not fire the OnKeyDown event. To intercept these keys use the KeyIntercept property.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onKeyUp(IMapControlEvents2OnKeyUpEvent theEvent) throws IOException, AutomationException
The OnKeyUp event is triggered when when the user releases a key whilst the MapControl has focus.
keyCode specifies a virtual key code value of the key pressed on the keyboard. For alpha-numeric keys this corresponds to the ASCII value, for example "A" key returns 65 which is the ASCII value for capital A. Other key codes are F1 to F12 are 112 to 123 respectively.
Shift specifies an integer corresponding to the state of the SHIFT (bit 0), CTRL (bit 1) and ALT (bit 2) keys. When none, some or all of these keys are pressed none, some or all the bits get set. These bits correspond to the values 1, 2, and 4, respectively. For example, if both SHIFT and ALT were pressed, ShiftState would return 5.
Some development environments will filter out keystrokes. Typically the arrow keys are used to change control focus and will not fire the OnKeyUp event. To intercept these keys use the KeyIntercept property.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void onMapReplaced(IMapControlEvents2OnMapReplacedEvent theEvent) throws IOException, AutomationException
The OnMapReplaced event is triggered whenever the IMapControl2::Map is replaced by another map, such as when the IMapControl2::LoadMxFile method is used or when the map property is explicitly replaced. Use this event to keep in synch with the current map.
theEvent
- The event
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |