Главная страница
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.014 c
1-77018
AlexanderSK
2003-04-14 12:37
2003.04.24
Ошибка -


6-77047
_Narayan_
2003-01-25 02:04
2003.04.24
Как принять сообщение отправленное : net send ......


3-76854
avenger
2003-04-03 18:47
2003.04.24
Удаление совпадающих записей


1-76878
darkkonung
2003-04-14 14:51
2003.04.24
Поддержка 2-х языковых интерфейсов


14-77141
GreatBug
2003-04-08 11:53
2003.04.24
Сайт стал сильно тормозить !