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

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

Always on Top [D5, Win2k]


id_privin ©   (2002-10-14 12:42:00) 

Есть приложение. В нем дофига форм. Одна из них навигатор для всех остальных. Как сделать так что-бы эта форма всегда висела поверх остальных (как аська или таск менаджер). Как это сделать для формы которая отдельное приложение очевидно.

Но как это сделать в рамках одного приложения ???


Игорь Шевченко   (2002-10-14 15:07:00) [1]

В кладовке, в разделе "Готовые программы" лежит программа StayOnTop - может, чем поможет ?


saxon   (2002-10-14 14:38:00) [2]

это для "окон других приложений" (Song © (14.10.02 14:28))
procedure Form1.CreateParams(var Params: TCreateParams);
begin
inherited;
with Params do begin
Style := (Style or WS_POPUP) and (not WS_CHILD);
WndParent := HWND_DESKTOP;
end;
end;

procedure Form1.FormActivate(Sender: TObject);
begin
SetWindowPos (Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE OR SWP_NOSIZE);
end;


Song   (2002-10-14 14:28:00) [3]

Для того чтобы быть выше форм своего проекта достаточно fsStayOnTop. Для окон других приложений нужно использовать SetWindowPos()


[NIKEL]   (2002-10-14 13:07:00) [4]

а если не будет работать Крот(14.10.02 12:59)
то добавь Application.RestoreTopMosts в обработчик события формы OnPaint


Крот   (2002-10-14 12:59:00) [5]

FormStyle := fsStayOnTop;


id_privin   (2002-10-14 12:57:00) [6]

Вопрос вроде как можно переформулироть так :

Как показать неактивную форму выше активной? Если это сделать нельзя, то как в одном приложении сделать две активных формы?


AL2002   (2002-10-14 12:52:00) [7]

Чё-то там Parent Top вроде.


Наверх

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