Вниз
Скачать: CL | DM;

Окна - верхний уровень   Найти похожие ветки 

 
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
14-97805
Separator
2003-06-11 07:45
2003.06.30
Сравнение record на asm


7-97906
Sergik
2003-04-22 10:39
2003.06.30
Открытие файла


1-97585
Kostja
2003-06-16 00:04
2003.06.30
Количество дней в месяце


8-97751
CrowD
2003-03-19 12:10
2003.06.30
Проблема с выводом спрайтов?!


14-97853
BofA
2003-06-12 14:07
2003.06.30
Как получить страницу из интернета в виде строки?




   Наверх