![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
TarasBer |
![]()
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Второе окно всегда сверху, даже когда первое активно. Если у второго окна задавать родителем 0, то в панели задач будут 2 иконки, тоже не катит. Что делать? Как делать правильно? -------------------- |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Теперь у меня новая проблема. Вот теперь - "вот тебе и преимущества безVCL-ного кода". Само сделается? Не сделается. Надо вручную прописывать. Ловишь WM_SYSCOMMAND, и если WPARAM = SC_MINIMIZE, то сворачиваешь главное окно и скрываешь (повторяю, скрываешь а не сворачиваешь, если свернешь - оно свернется аккуратно над таскбаром, слева, я не думаю, что это зрелище кого-нибудь обрадует, тебя - в первую очередь) второе. Как только получаешь SC_RESTORE - показываешь второе окно и разворачиваешь первое.Если переключиться на другое приложение, закрывающее окно2, а потом снова на это, то окно2 пропадает. Надо ловить wm_Activate и руками что-то писать? И ещё, надо, чтобы при соваривании окна1 сворачивалось и окно2 (да, я забыл это сказать, думал, что такой эффект сам собой получится). То же самое касается и обработки WM_ACTIVATE... Проверить какая именно активация была, если по какому-то окну щелкнули мышой (WA_CLICKACTIVE), то делать BringWindowToTop(другое_окно), потом BringWindowToTop(то_по_которому_щелкнули). Чтобы окна расположились в правильном порядке. Если ткнули на кнопку в таскбаре (это уже случай WA_ACTIVE, если не произошло WA_CLICKACTIVE перед этим), то поднимать окна в порядке "сначала H2, потом H1", ибо кнопка в таскбаре связана с H1, значит, оно должно оказаться выше. Если хочется особо поизвращаться - заведи булеву переменную IsFirstWindowAbove, и поднимай окна в нужном порядке, при активации к тому же меняя значение этой переменной. Ну, как тебе безVCL-ный код? |
![]() ![]() |
![]() |
Текстовая версия | 15.07.2025 2:11 |