ComponentDispatcher Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ermöglicht die gemeinsame Steuerung der Nachrichtenpumpe zwischen Win32 und WPF in Interoperationsszenarien.
public ref class ComponentDispatcher abstract sealed
public static class ComponentDispatcher
type ComponentDispatcher = class
Public Class ComponentDispatcher
- Vererbung
-
ComponentDispatcher
Hinweise
Obwohl die Klasse selbst statisch ist, sind alle Member ComponentDispatcher spezifisch für einen bestimmten Thread. Wenn Sie beispielsweise den Wert von IsThreadModal zwei verschiedenen Threads untersuchen, erhalten Sie möglicherweise unterschiedliche Werte.
Die Methoden sind statisch, werden jedoch durch Threaddatenstrukturen unterstützt. Die statischen Methoden ermöglichen den Singletonzugriff, aber die ComponentDispatcher entsprechenden Pro-Thread-Vorgänge werden sortiert.
Der Besitzer der Nachrichtenpumpe wird durch den Code definiert, der die Win32-Funktion GetMessage aufruft. Der Besitzer ruft für jede Tastaturnachricht auf RaiseThreadMessage . Diese Methode löst das ThreadFilterMessage Ereignis mit den Nachrichten aus, die in den Ereignisdaten enthalten sind. Wenn dieses Ereignis nicht behandelt wird, löst der Besitzer das ThreadPreprocessMessage Ereignis mit den nachrichten aus, die im Ereignisargument enthalten sind.
Note
Nur Tastaturnachrichten werden unterstützt.
Eigenschaften
| Name | Beschreibung |
|---|---|
| CurrentKeyboardMessage |
Ruft die letzte Nachricht ab, die ausgelöst wurde. |
| IsThreadModal |
Ruft einen Wert ab, der angibt, ob der Thread modal ist. |
Methoden
| Name | Beschreibung |
|---|---|
| PopModal() |
Wird aufgerufen, um anzugeben, dass ein modaler Thread nicht mehr modal ist. |
| PushModal() |
Wird aufgerufen, um anzugeben, dass der Thread modal ist. |
| RaiseIdle() |
Wird aufgerufen, um anzugeben, dass ein Thread im Leerlauf ist. |
| RaiseThreadMessage(MSG) |
Gibt an, dass eine neue Nachricht für die mögliche Behandlung verfügbar ist. |
Ereignisse
| Name | Beschreibung |
|---|---|
| EnterThreadModal |
Tritt auf, wenn ein Thread modal wird. |
| LeaveThreadModal |
Tritt auf, wenn ein modaler Thread nicht modal wird. |
| ThreadFilterMessage |
Tritt auf, wenn die Nachrichtenpumpe eine Tastaturnachricht empfängt. |
| ThreadIdle |
Tritt auf, wenn der Thread im Leerlauf ist. |
| ThreadPreprocessMessage |
Tritt auf, wenn die Nachrichtenpumpe eine Tastaturnachricht empfängt. |