Ler em inglês

Compartilhar via


ComponentDispatcher Classe

Definição

Habilita o controle compartilhado da bomba de mensagens entre Win32 e WPF em cenários de interoperação.

C#
public static class ComponentDispatcher
Herança
ComponentDispatcher

Comentários

Embora a classe em si seja estática, todos os membros de ComponentDispatcher são específicos para um thread específico. Por exemplo, se você examinar o valor de IsThreadModal em dois threads diferentes, poderá obter valores diferentes.

Os métodos são estáticos, mas são apoiados por estruturas de dados por thread. Os métodos estáticos permitem o acesso singleton, mas o ComponentDispatcher está classificando as operações apropriadas por thread.

O proprietário da bomba de mensagem é definido pelo código que chama a função Win32 GetMessage. O proprietário chama RaiseThreadMessage cada mensagem de teclado. Esse método gera o ThreadFilterMessage evento com as mensagens contidas nos dados do evento. Se esse evento não for tratado, o proprietário aciona o ThreadPreprocessMessage evento com as mensagens contidas no argumento event.

Observação

Há suporte apenas para mensagens de teclado.

Propriedades

CurrentKeyboardMessage

Obtém a última mensagem que foi gerada.

IsThreadModal

Obtém um valor que indica se o thread é modal.

Métodos

PopModal()

Chamado para indicar que um thread modal não é mais modal.

PushModal()

Chamado para indicar que o thread é modal.

RaiseIdle()

Chamado para indicar que um thread está ocioso.

RaiseThreadMessage(MSG)

Indica que uma nova mensagem está disponível para possível manipulação.

Eventos

EnterThreadModal

Ocorre quando um thread torna-se modal.

LeaveThreadModal

Ocorre quando um thread modal torna-se não modal.

ThreadFilterMessage

Ocorre quando a bomba de mensagens recebe uma mensagem do teclado.

ThreadIdle

Ocorre quando o thread está ocioso.

ThreadPreprocessMessage

Ocorre quando a bomba de mensagens recebe uma mensagem do teclado.

Aplica-se a

Produto Versões
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Confira também