Как я могу контролировать фокус в приложении Win32? - PullRequest
0 голосов
/ 03 августа 2011

У меня есть ситуация, когда у меня есть главное окно с панелью инструментов, содержащей некоторые поля редактирования.

Мы хотим, чтобы пользователь мог сохранять фокус на полях редактирования и при этом иметь возможность щелкнуть правой кнопкой мыши наокно представления (оба потомка одного и того же главного окна, одна и та же нить).

В текущих тестах я вижу, что сообщения о фокусировке происходят даже до того, как представление получает сообщение об отказе от юаней:

  1. Редактировать = убить фокус
  2. Вид = установить фокус
  3. Вид = уменьшить RMB

Я не хочу, чтобы редактирование сохраняло фокус, несмотря ни на что: простосохраняйте фокус, если пользователь пытается щелкнуть ПКМ по представлению.

Поскольку фокусировка происходит в первую очередь, я немного растерялся, когда узнаю, что произойдет правая мышькнопка вниз.

1 Ответ

1 голос
/ 04 августа 2011

Начните с включения флага стиля WS_EX_NOACTIVATE в окне, щелкаемом правой кнопкой мыши.Это не позволяет оконному менеджеру автоматически активировать нажатое окно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...