Dual mode of DG Kernel Component
When transparent background is
requested or the component's parent has WS_EX_COMPOSITED extended window
style on load the component enters a special Dual mode. This mode is
required because the operating system does not provide sufficient support for
the features.
Notice: Dual mode is only available on Windows Vista or later
In dual mode the component has some limitations. It provides the normal viewing
functionality and all interfaces for programmatic model and view manipulation
are supported. What is missing is the functionality of handling the advanced
user input via the view. For example the context menu is not available and mouse
events are treated little differently. See below. View manipulation (zoom/pan/rotate) is working as normal.
In the dual mode the Visible property of the DG Kernel component
must be set to false. For native applications this is done automatically by the
component itself. .NET applications must set the Visible property to false in
form editor at design time. To hide the component at runtime, when it is in dual
mode set the transparent background
property to false.
In the dual mode the regular
MouseDown,
MouseMove and
MouseUp mouse eventa are not raised. Instead,
if requested, the application receives the Extended Mouse Event.
The eventType parameter indicates the specific event type.
To request LMouseDown and RMouseDown events call
RequestEvent(EDIEvent.eEventMouseSimple,
true). In this case the handler for the Extended Mouse Event
will be called with eventType parameter EDIEvent.eEventMouseLButtonDown
or EDIEvent.eEventMouseRButtonDown. Call
RequestEvent(EDIEvent.eEventMouseMove,
true) to request MouseMove event. In this case the handler for the Extended Mouse Event
will be called with EDIEvent.eEventMouseMove parameter
Please contact us to request any of the missing
functionality
Apart from the above limitations the dual mode is supposed to behave as normal DG Kernel
component. To find out wether the component is running in dual mode at runtime
query DualMode property from the
DG Kernel Component Context (not to be confused with Initialisation Context)
See also: Cannon sample
|