ComponentDispatcher 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在互操作方案中,启用 Win32 与 WPF 之间的消息泵的共享控件。
public ref class ComponentDispatcher abstract sealed
public static class ComponentDispatcher
type ComponentDispatcher = class
Public Class ComponentDispatcher
- 继承
-
ComponentDispatcher
注解
尽管 类本身是静态的,但 的所有成员 ComponentDispatcher 都特定于特定线程。 例如,如果在两个不同的线程上检查 的值 IsThreadModal ,可能会得到不同的值。
这些方法是静态的,但它们由每个线程的数据结构提供支持。 静态方法允许单一实例访问, ComponentDispatcher 但 正在对每个线程的操作进行排序。
消息泵的所有者由调用 Win32 函数 GetMessage 的代码定义。 所有者为每个键盘消息调用 RaiseThreadMessage 。 此方法使用 ThreadFilterMessage 事件数据中包含的消息引发 事件。 如果未处理该事件,则所有者会使用事件参数中包含的消息引发 ThreadPreprocessMessage 事件。
注意
仅支持键盘消息。
属性
CurrentKeyboardMessage |
获取已引发的最后一条消息。 |
IsThreadModal |
获取一个值,该值指示线程是否是模式。 |
方法
PopModal() |
调用以指示模式线程不再是模式。 |
PushModal() |
调用以指示该线程是模式。 |
RaiseIdle() |
调用以指示某线程处于空闲状态。 |
RaiseThreadMessage(MSG) |
指示会对可能的处理显示新消息。 |
事件
EnterThreadModal |
当线程变成模式线程时发生。 |
LeaveThreadModal |
当模式线程变成非模式线程时发生。 |
ThreadFilterMessage |
当消息泵接收键盘消息时发生。 |
ThreadIdle |
当线程空闲时发生。 |
ThreadPreprocessMessage |
当消息泵接收键盘消息时发生。 |