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

时间:2011-08-03 19:30:23

标签: c++ winapi events

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

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

在当前的测试中,我发现即使在视图收到RMB down消息之前,焦点消息也会发生:

  1. 编辑=杀死焦点
  2. 查看=设置焦点
  3. 查看=人民币下降
  4. 我不希望编辑保留焦点,无论如何:如果用户试图点击视图,只需保持焦点。

    因为焦点的东西首先发生,所以我有点不知道如何判断即将发生的是鼠标右键。

1 个答案:

答案 0 :(得分:1)

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