Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.30;
Скачать: 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 вся ветка

Текущий архив: 2003.06.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-97619
SkyRanger
2003-06-19 14:08
2003.06.30
Access Violation и все тут, млин....


1-97615
Klez-X
2003-06-19 13:50
2003.06.30
Работа с реестром


3-97485
Nikolay M.
2003-06-04 16:59
2003.06.30
Возвращаемый интерфейс для трехзвенки


14-97818
Paul McCartney
2003-06-11 16:29
2003.06.30
Моя правда


14-97834
Дмитрий К.К.
2003-06-12 06:04
2003.06.30
Именинники 12 июня