Что нового

Удержать окно активным

musicstashall

Знающий
Сообщения
322
Репутация
7
Всем доброго.
У меня несколько дочерних окон $WS_POPUP, встроенных в родительское окно, и не встроенных со стилем $WS_EX_MDICHILD. Возникает большое неудобство — родительское окно становится неактивным при работе с дочерними окнами. Нет ли способа удержать родительское окно всегда активным, независимо от того, что дочернее в данный момент кликается мышью?
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
все просто. делаем свое родительское окно без заголовка и лепим свой заголовок. Ничего не моргает.
 
Автор
M

musicstashall

Знающий
Сообщения
322
Репутация
7
Прикольно. Даже не подумал. Попробую
Сообщение автоматически объединено:

Нет, не понял. Лепим свой заголовок — это же тоже будет окно $WS_POPUP и оно все равно сделается неактивным, как только активируется какое либо дочернее окно. Или как??
 
Последнее редактирование:

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Визуально все активно. Нет мигания заголовка. Клики проходя сразу в любое окно
 
Автор
M

musicstashall

Знающий
Сообщения
322
Репутация
7
Это если у тебя цвет неактивного окна равен цвету активного? Что значит визуально? Не мигает, потому что заголовок не становится активным в процессе работы окон, он теряет свою активность и не возобновляет? Я правильно понял? Мне нужно, чтобы по факту заголовок был активным, ну или хотя бы, чтобы не менял цвет в процессе работы окон.
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Если все родное - родительское и дочерние окна, то в родительском делаешь свой заголовок. то есть, используешь для родительского стиль popup и встраиваешь картинку или строку как заголовок. даешь им стиль для перетаскивания окна. и все работает. цвет тут ни при чем. визуально все видно как одно окно.
 
Последнее редактирование:
Автор
M

musicstashall

Знающий
Сообщения
322
Репутация
7
Я понял, что ты имеешь ввиду. Мне нужен настоящий фрейм окна в заголовке, в системном цвете. Я применяю _WinAPI_DwmExtendFrameIntoClientArea и располагаю над расширенным заголовком окно с тулбаром.

white_emoticons_9_08133506.png
Сообщение автоматически объединено:

Если никак не получится, то я заблокирую это окно и буду имитировать Hit & Down по координатам мыши
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
так получи системный цвет и используй в окне. плюс похожие кнопки
некоторые задачи или даже многие решаются просто. иногда мы себе надумываем лишние проблемы. из за чего? хотим имитировать. а зачем?Твое окно, ты решаешь.
что в итоге важно? Безупречный функционал
 
Автор
M

musicstashall

Знающий
Сообщения
322
Репутация
7
Есть же стандартное решение!
Код:
_WinAPI_CreateWindowEx


Что угодно можно создать, любой системный класс, и прикрепить к родительскому окну как контрол. Например DirectUIHWND, используемый в системе в качестве контента окон.
Сообщение автоматически объединено:

Нет, не создает такой класс. Поэксперементирую еще...
 
Последнее редактирование:
Верх