Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Активизируя родительское окно, оно  не должно перекрывать дочернее [D5, WinME]


MaTaDoR ©   (2002-01-21 13:32:00) 

Есть форма (родительская), она порождает новое дочернее. Необходимо сделать так, чтобы активизируя (переведя фокус) дочернее окно не перекрывалось.


nikkie   (2002-01-21 16:39:00) [1]

>IronHawk, Вячеслав
собс-но в вопросе про MDI ни слова. в Word"e Find диалог - не модальное и не MDI-child окно. тем не менее, при активизации основного окно Find не исчезает. при переключении в другое приложение - не остается поверху, т.е. это не StayOnTop.

такое окно создается с помощью стиля WS_POPUP. для vcl я использовал такой код:


...
protected
procedure CreateWindowHandle(const Params: TCreateParams); ...

override;procedure TForm1.CreateWindowHandle(const Params: TCreateParams);
begin
with Params do begin
WindowHandle := CreateWindowEx(ExStyle, WinClassName, Caption, Style or WS_POPUP,
X, Y, Width, Height, TWinControl(Owner).Handle, 0, WindowClass.hInstance, Param);
end;
end;


только я замечал неприятное поведение такого приложения при использовании кнопки "Show Desktop".


Вячеслав   (2002-01-21 16:11:00) [2]

Присоединяясь к >IronHawk добавлю, перед подачей форм.шоу используй что-то вроде deferwindowpos(.....), где и указываются неперекрываемые координаты. В принципе, можно вообще всех подвинуть, если сильно надо, могу пример вышеозначенной функции прислать(писал для своих программисток:))).


IronHawk   (2002-01-21 13:44:00) [3]

Ежели правильно скрейтил обе формы то дочерняя сроду МДИшкой не перекроеться !


Владислав   (2002-01-21 13:39:00) [4]

FormStyle:=fsStayOnTop;


Наверх

Титульная страница Поиск, карта сайта Написать письмо