Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.06.2010, 11:42
blackswan blackswan вне форума
Прохожий
 
Регистрация: 27.05.2010
Сообщения: 4
Репутация: 10
По умолчанию Спрятать окно-родитель

Имеется форма Окно1 , она создает форму Окно2 в одной из своих функций. Окно1 должно быть всегда поверх Окно2, это сейчас достигается путем выставления стиля fsStayOnTop. Но приложение устроено так, что Окно2 является табом наравне с другими похожими окнами в MDI-приложении.

Необходимо прятать Окно1 , если было переключено с Окно2 на другие окна-табы. Окно1 и Окно2 имеют свойства, в которых хранят ссылки друг на друга. Окно2 может создаваться разными окнами, не только Окном1, поэтому еще необходимо делать проверку на имя класса вызвавшего окна.

Событие Окно2.OnHide не срабатывает, видимо потому, что Окно2 при переключении на другую вкладку не полностью прячется, а остается его маленькая часть-вкладка вверху. Событие Окно2.OnDeactivate вроде бы срабатывает,когда с Окна2 переключают на другое окно , но при создании Окна2 это событие срабатывает дважды (почему?), при этом ему еще не присвоен parent, т.е. не могу узнать, кто же его вызвал, далее при переключении это событие срабатывает и проверка по имени класс parent успешна, так как parent уже назначен. Но это тоже не выход, так как позже при новом переключении на уже существующее Окно2 событие OnActivate не срабатывает и следовательно я не могу включить Окно1 снова fsStayOnTop.
Подскажите, как тут выкрутиться? Есть ли проверка размера видимой области окна? Я бы мог проверить Окно2 на видимость, если она мала (только закладка видна), то значит оно скрыто.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:19.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025