![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно вывести окно поверх остальных окон? [D3, Win2k]
THandle © (2005-12-14 03:48:00)Вот этот код работает правильно:
procedure TForm1.Timer1Timer(Sender: TObject);
var hWindow : THandle;
begin
hWindow:=Application.Handle
ShowWindow(hWindow,SW_MINIMIZE);
ShowWindow(hWindow,SW_RESTORE);
end;
Как можно вывести окно поверх остальных без предварительного сворачивания?
(SetForegroundWindow(hWindow); - это не работает - у меня win2k)
THandle (2005-12-14 21:02:00) [1]Всем спасибо, нашёл работающий код:
SendMessage(GetDesktopWindow(), WM_SYSCOMMAND, SC_HOTKEY,application.Handle);
Alexander Panov (2005-12-14 19:50:00) [2]http://forum.sources.ru/index.php?showtopic=123826&view=showall
THandle (2005-12-14 19:22:00) [3]>SetForegroundWindow со всеми примечаниями
Оно делает активной только кнопку программы на панели задач, а окно так и остаётся за другими окнами:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
SetForegroundWindow(application.Handle);
end;
Игорь Шевченко (2005-12-14 18:08:00) [4]
> но надо что бы форма просто появлялась поверх всех окон
> и была активна
SetForegroundWindow со всеми примечаниями
THandle (2005-12-14 16:44:00) [5]>FormStyle := fsStayOnTop;
> SetWindowPos(..., HWND_TOPMOST, ....)
Это всё работает, но надо что бы форма просто появлялась поверх всех окон и была активна, но не оставалась там. (Что бы работало как в ранее приведённом коде, но без предварительного сворачивания).
Игорь Шевченко (2005-12-14 10:48:00) [6]SetWindowPos(..., HWND_TOPMOST, ....)
Васяня (2005-12-14 05:28:00) [7]FormStyle := fsStayOnTop; ???