Главная страница
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.015 c
14-97860
Caponid
2003-06-12 11:32
2003.06.30
Язык SQL самые основы - дайте ссылки


14-97806
Gimer
2003-06-10 17:08
2003.06.30
Голубое окно смерти Windows


1-97747
C_R_U_S_H
2003-06-18 13:04
2003.06.30
Проблема с кодом


1-97639
Бородин М
2003-06-19 22:59
2003.06.30
Очистка массива


11-97557
guru
2002-10-13 14:52
2003.06.30
Полный мануал по установке KOL и MCK