如何在Win32应用程序中控制焦点

How can I control focus within a Win32 app?

本文关键字:控制 焦点 应用程序 Win32      更新时间:2023-10-16

我有一种情况,我有一个主窗口的工具栏包含一些编辑字段。

我们希望用户能够保持焦点在编辑字段,仍然能够右键单击视图窗口(两个后代的同一主窗口,同一线程)。

在当前的测试中,我看到焦点消息甚至在视图接收到RMB down消息之前发生:

  1. Edit = kill focus
  2. View = set focus
  3. 视图=人民币向下

我不想让编辑保持焦点,无论如何:只要保持焦点,如果用户试图做一个RMB点击视图

因为焦点是先发生的,我有点不知道如何判断即将发生的事情是鼠标右键按下

首先在右键单击的窗口上打开WS_EX_NOACTIVATE样式标志。这将阻止窗口管理器自动激活所单击的窗口。