ComponentDispatcher Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Enables shared control of the message pump between Win32 and WPF in interoperation scenarios.
public ref class ComponentDispatcher abstract sealed
public static class ComponentDispatcher
type ComponentDispatcher = class
Public Class ComponentDispatcher
- Inheritance
-
ComponentDispatcher
Remarks
Although the class itself is static, all members of ComponentDispatcher are specific to a particular thread. For example, if you examine the value of IsThreadModal on two different threads, you might get different values.
The methods are static but they are backed by per-thread data structures. The static methods allow singleton access but the ComponentDispatcher is sorting out the appropriate per-thread operations.
The owner of the message pump is defined by the code that calls the Win32 function GetMessage. The owner calls RaiseThreadMessage for every keyboard message. This method raises the ThreadFilterMessage event with the messages contained in the event data. If that event is not handled, the owner raises the ThreadPreprocessMessage event with the messages contained in the event argument.
Note
Only keyboard messages are supported.
Properties
CurrentKeyboardMessage |
Gets the last message that was raised. |
IsThreadModal |
Gets a value that indicates whether the thread is modal. |
Methods
PopModal() |
Called to indicate that a modal thread is no longer modal. |
PushModal() |
Called to indicate that the thread is modal. |
RaiseIdle() |
Called to indicate that a thread is idle. |
RaiseThreadMessage(MSG) |
Indicates that a new message is available for possible handling. |
Events
EnterThreadModal |
Occurs when a thread becomes modal. |
LeaveThreadModal |
Occurs when a modal thread becomes nonmodal. |
ThreadFilterMessage |
Occurs when the message pump receives a keyboard message. |
ThreadIdle |
Occurs when the thread is idle. |
ThreadPreprocessMessage |
Occurs when the message pump receives a keyboard message. |