Форум: "Основная";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];
ВнизОкна - верхний уровень Найти похожие ветки
← →
Alexsum (2003-06-12 09:20) [0]Доброе время суток!
Возможно вопрос детский, но...
Есть форма. Нужно чтобы она открывалась на самом верхнем уровне (поверех всех окон), не перекрывалась ими даже при активации перекрывающего, и при этом не забирала фокус текущего активного окна при открытии?
← →
oleg_SYS (2003-06-12 09:51) [1]Form1.Style := fsStayOnTop;
← →
HolyGlory (2003-06-12 12:40) [2]Можно еще выше: SetWindowPos(form1.handle,HWND_TOPMOST,0,0,0,0, SWP_NOMOVE or SWP_NOSIZE);
← →
Song (2003-06-12 13:11) [3]:) А ещё выше можно?
← →
HolyGlory (2003-06-12 13:12) [4]Можно!
Canvas:TCanvas;
...
Canvas.Handle:=GetDC(0);
Ну и ручками рисуешь :)
← →
Alexsum (2003-06-13 13:46) [5]такие варианты не проходят.
Во первых фокус забирается, во вотрых - окно перекрывается другими
← →
HolyGlory (2003-06-13 14:35) [6]Focus забирается точлько тогда, когда ты делаешь form1.show(). если окно видимое, то SetWindowPos пройдет, и фокус не заберет.
← →
Alexsum (2003-06-17 09:22) [7]в том то и дело , что оно не видимое
← →
Alexsum (2003-06-18 11:19) [8]Спасибо. Благодаря вам нашел, что искал.Вот мой вариант:
procedure .FormShow(Sender: TObject);
var activwind:HWND;
begin
activwind := GetForegroundWindow;
inherited;
SetForegroundWindow(activwind);
SetWindowPos(handle,HWND_TOPMOST,0,0,0,0, SWP_NOMOVE or SWP_NOSIZE);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c