У меня есть модельный CDialog, который содержит элементы управления, некоторые CButtons и CScrollbar. CDialog отпадает от поля редактирования, которое я хочу постоянно держать в фокусе. Проблема заключается в том, что всякий раз, когда пользователь использует элементы управления, нажав кнопку или на полосе прокрутки, элемент управления крадет фокус из окна редактирования, заставляя как родительское окно рисовать без фокуса (скрытая строка заголовка), так и приводить к тому, что элемент управления возьмите весь ввод с клавиатуры. Есть ли способ, по которому элементы управления могут реагировать на действия мыши, но не крадут фокус?Использовать диалоговые элементы управления без кражи фокуса
Элементы управления и диалог созданы с помощью WS_CHILD. Элементы управления отформатированы в диалоговом окне, и диалог отпадает от поля редактирования.
Я попытался настроить фокус назад после использования элементов управления, но это приводит к тому, что родительское окно мерцает, когда оно теряет, а затем восстанавливает фокус. В основном я хочу что-то, что работает как комбинированное поле, где можно прокручивать полосу прокрутки или перетаскивать ее, но ввод на клавиатуре по-прежнему идет непосредственно в диалог, а не только в полосу прокрутки, и все это никогда не теряет фокус.
Я думаю, что вопросник означает, что 'hwndParent' диалогового окна является дескриптором окна элемента управления редактирования, который должен оставаться сфокусированным. –
Да, я думаю, что вопрос имел в виду владельца/собственность, а не родителя/ребенка. Это обычное размытие терминологии, даже в документации MSDN. –