Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.24;
Скачать: CL | DM;

Вниз

мое окно топнее всех .Всегда.   Найти похожие ветки 

 
slpro ©   (2003-02-24 10:32) [0]

даже если мое окно теряет фокус , оно должно быть поверх всех.
Делаю такую штуку частым таймером.

Это не красиво и неправильно.
SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Width, ClientHeight, SWP_NOMOVE or SWP_SHOWWINDOW);

Скажите как победить ? Знаю что можно решить вопрос красиво.Спасибо


 
DVM ©   (2003-02-24 10:52) [1]


> Делаю такую штуку частым таймером.

и правильно делаешь так как только так можно вылезти поверх всего, нотя бы на короткое время.


 
Snap ©   (2003-02-24 13:17) [2]

Gde to v svoistvah formi est" Always on top. A esli ne programmno, to est" plugin dla Total Commander, Tip Top nazivaetsa, tak on dazhe prozrachnost u lubogo okna mozhet postavit".


 
Anatoly Podgoretsky ©   (2003-02-24 13:21) [3]

А мое окно, я то же хочу и выше твоего.
Будем драться за высоту?


 
___ALex___ ©   (2003-02-24 13:33) [4]

FormStyle := fsStayOnTop


 
slpro ©   (2003-02-25 14:11) [5]


Только программно надо!


Gde to v svoistvah formi est" Always on top.
Я даже знаю где(видел пару раз).)))

FormStyle := fsStayOnTop --- Такой топ мне не топ.Все знают какой он. Пускай форма без фокуса будет fsStayOnTop . Кто может без таймера?


 
gsu ©   (2003-02-25 14:14) [6]

attachthreadinput+setforegroundwindow


 
slpro ©   (2003-02-25 14:16) [7]

2 Anatoly Podgoretsky чейтаймер чаще, тот и выше!:)


 
slpro ©   (2003-02-25 14:48) [8]

gsu Спасибо!

attachthreadinput+setforegroundwindow


Теперь все красиво.
Лечится вызовом 2-х функций в OnShow:

SetWindowPos(Handle,
HWND_TOPMOST,
Left,
Top,
Width,
Height,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
SetForegroundWindow(Form1.Handle); SetWindowPos(Form1.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE+SWP_NOSIZE)


Один коментарий могут перенести в рубрику потрепатся.)))
Чей этаж выше, и окно тоже.


 
[lamer]Barmaglot ©   (2003-02-25 14:49) [9]

Может я не прав, но отловить WM_Paint? + ValidateRect


 
gsu ©   (2003-02-25 15:31) [10]

>> [lamer]Barmaglot © (25.02.03 14:49)
lamer - это клан что ли


 
[lamer]Barmaglot ©   (2003-02-25 15:54) [11]

Он самый.

Sorry за Offtopic...


 
DVM ©   (2003-02-25 18:22) [12]

Ну и что, думаете что сделали. Теперь запустите две копии своей программы и наслаждайтесь эффектом, когда одно ваше окно "не топнее всех"


 
DVM ©   (2003-02-25 18:26) [13]

Попытка сделать окно выше всех - то же самое, что попытка придумать число больше всех других (связь прямая). На дно - можно, наверх - нельзя.


 
jack128 ©   (2003-02-26 07:52) [14]

На дно нельзя по той же причине, что и на верх...;-)


 
slpro ©   (2003-02-26 09:12) [15]

М да .... только таймер!?
Говорить чаще других что я топ.


 
slpro ©   (2003-02-26 09:17) [16]

При одном экземпляре программы))


 
DVM ©   (2003-02-26 12:35) [17]


> На дно нельзя по той же причине, что и на верх...;-)

нет, похоже на дно все таки можно - пример эксплорер. Я что то не видел пока программы, способной расположится между десктопом и значками эксплорера на десктопе. Наверное в виндах есть для этого какие то средства (может и скрытые).



Страницы: 1 вся ветка

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

Наверх




Память: 0.5 MB
Время: 0.011 c
3-76825
KPY
2003-04-07 08:27
2003.04.24
Сортировка в DBGrid


1-76899
Лесник
2003-04-14 21:19
2003.04.24
проверка значений вводимых в InputBox


4-77237
Orcy
2003-02-22 01:57
2003.04.24
Как выключить или перезагрузить WinXp


7-77196
velk
2003-03-06 08:31
2003.04.24
Как перехватить все задания на печать


1-76967
Rus
2003-04-11 10:41
2003.04.24
Прога, скомпилированная в D6 не запускается в Win95