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