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

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

Де формы StayOnTop, с одной всё понятно, но две - ??? [D6, Win2k]


Darkwin ©   (2002-11-29 16:20:00) 

Чтобы форма была всегда наверху делаем так:


private
procedure WMWINDOWPOSCHANGING(var msg: TWMWINDOWPOSCHANGING);
message WM_WINDOWPOSCHANGING;
{ Private declarations }
....
....
....
procedure TForm3.WMWINDOWPOSCHANGING(var msg: TWMWINDOWPOSCHANGING);
begin
SetWindowPos(Handle, HWND_TOPMOST, Left, Top,
Width, Height, SWP_SHOWWINDOW);
inherited;
end;

или так:

procedure TForm3.FormShow(Sender: TObject);
begin
SetForegroundWindow(Handle);
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE+SWP_NOSIZE)
end;
procedure TForm3.FormDeactivate(Sender: TObject);
begin
SetForegroundWindow(Handle);
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE+SWP_NOSIZE)
end;

в обоих случаях всё прекрасно работает, но мне надо две, чтобы формы были StayOnTop.
В первом случае происходит зацикливание на обработчиках сообщений. Во втором вроде всё нормально, но при открытии третьей формы (не StayOnTop), она всегда не активная, даже капшион серый.
Как можно решить такую проблему?


Andrey007   (2002-11-29 17:12:00) [1]

У меня такой проблемы нет, наверное потому, что главная форма развёрнута на весь экран (это требование ЧТЗ на программу).


Darkwin   (2002-11-29 17:10:00) [2]

нет, если просто установить значение StayOnTop, то после деактивации формы другие приложения будут перекрывать её


Andrey007   (2002-11-29 17:08:00) [3]

Эти значения заданы в design-time и в run-time не меняются. А тебе надо эти значения менять в run-time что ли?


Darkwin   (2002-11-29 17:05:00) [4]

И как это у тебя реализовано?


Andrey007   (2002-11-29 17:03:00) [5]

А что должно быть интересно? У меня в проекте так и есть - главная форма fsNormal, а остальные fsStayOnTop.


Darkwin   (2002-11-29 16:50:00) [6]

Что никому не интересно?


Наверх

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