Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.09;
Скачать: CL | DM;

Вниз

Де формы StayOnTop, с одной всё понятно, но две - ???   Найти похожие ветки 

 
Darkwin ©   (2002-11-29 16:20) [0]

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


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), она всегда не активная, даже капшион серый.
Как можно решить такую проблему?


 
Darkwin ©   (2002-11-29 16:50) [1]

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


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

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


 
Darkwin ©   (2002-11-29 17:05) [3]

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


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

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


 
Darkwin ©   (2002-11-29 17:10) [5]

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2002.12.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
8-28136
j_onion
2002-08-23 03:00
2002.12.09
Как проверить, установлен ли конкретный кодек в системе?


3-27902
Julia
2002-11-20 11:13
2002.12.09
BDE и MS SQL Server 2000


7-28317
vitnt2000
2002-10-09 14:58
2002.12.09
Как узнать запущена ли служба?


1-27927
Alex Ded
2002-11-28 21:39
2002.12.09
MDI Child in BPL


1-27976
Дельфятник.
2002-11-26 15:41
2002.12.09
Процедура/функция с переменным набором параметров.