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

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

Поверх всех окон [D6, Win2k]


badaxe ©   (2003-01-24 14:46:00) 

Как сделать так чтоб форма моя появлялась из tray поверх всех остальных открытых окон?
Спасибо.


Palladin   (2003-01-24 15:10:00) [1]

2 Андрей Сенченко
у меня окно при Application.Restore после
ShowWindow(Application.HANDLE,SW_HIDE)
не всегда выходило на передний план.
Приходилось именно BringToFront делать.

Код восстановления окна на экране (если конечно на нем нет окон Always on top)

ShowWindow(Application.HANDLE,SW_SHOW);
Application.Restore;
Application.BringToFront;


Андрей Сенченко   (2003-01-24 15:02:00) [2]

На самом деле если Ты активизируешь приложение на экран из трея - его окно само по себе встанет поверх всех. Если же Тебе нужно сделать "Совсем поверх всех и там оставить как в аське" ...
Вот так сделано у меня ( по клику кнопки - поверх всех или на панель ):

procedure TFmMain.BtnWindowStyleClick(Sender: TObject);
begin
If BtnWindowStyle.Caption = "Поверх всех"
Then
Begin
Setwindowpos( Application.MainForm.Handle,
HWND_TOPMOST,
Application.MainForm.Left,
Application.MainForm.Top,
Application.MainForm.Width,
Application.MainForm.Height,
SWP_SHOWWINDOW);
BtnWindowStyle.Caption := "На панель"
End
Else
Begin
Setwindowpos( Application.MainForm.Handle,
HWND_BOTTOM,
Application.MainForm.Left,
Application.MainForm.Top,
Application.MainForm.Width,
Application.MainForm.Height,
SWP_SHOWWINDOW);
BtnWindowStyle.Caption := "Поверх всех"
End;
end;


Андрей Сенченко   (2003-01-24 14:59:00) [3]

в FAQ есть совершенно роскошный пример


Palladin   (2003-01-24 14:57:00) [4]

попробуй
Application.BringToFront;


Наверх

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