ComponentDispatcher Klasse

Definition

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.

Gilt für:

Weitere Informationen