Форум: "Начинающим";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
ВнизОкна всегда поверх всех окон Найти похожие ветки
← →
roughneck (2007-11-28 09:51) [0]Создаю ряд окон способом:
ArrayForm: array of TForm1;
ArrayForm[i] := TForm1.Create(Application);
Проблема сделать эти окна всегда поверх других окон. Как, например, окно трафика у Download Master-а.
← →
авыф (2007-11-28 10:07) [1]FormStyle := fsStayOnTop
← →
Anatoly Podgoretsky © (2007-11-28 11:54) [2]Убери слова ВСЕГДА тогда сможешь на что то расчитывать.
← →
roughneck (2007-11-29 14:46) [3]FormStyle := fsStayOnTop
не помогает - это работает только в пределах данного процесса.
А вот по поводу ВСЕГДА - не уберу. Мне и нужно чтоб окно было видно всегда. Исключением мугут быть игры или другие проги которые работают с видео страницами (DirectX)
Пока сдлал вот так - работает, но это как-то не корректно:
по таймеру выполняю:
Application.NormalizeTopMosts;
if Length(ArrForms) > 0 then
SetWindowPos(ArrForms[0].Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
i := 1;
while i < Length(ArrForms) do
begin
SetWindowPos(ArrForms[i].Handle, ArrForms[i-1].Handle, Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
i := i + 1;
end;
← →
Anatoly Podgoretsky © (2007-11-29 15:31) [4]Твоя программа может запускаться в двух экземпляров, как тогда ты обойдешь данное противоречие?
А если у другой программы точно такие же претензии, то как.
Лечение - вешаться.
← →
Strate (2007-11-30 07:54) [5]roughneck (29.11.07 14:46) [3]
SetWindowPos(ArrForms[i].Handle, ArrForms[i-1].Handle....
Может всёжеSetWindowPos(ArrForms[i].Handle, HWND_TOPMOST,....
?
← →
DVM © (2007-12-01 21:12) [6]
> roughneck
Выше всех только менюшка монитора.
Выше нее - окно распечатанное на принтере.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.044 c