![]() |
|
|
#1
|
||||
|
||||
![]() Как сделать чтобы форма(программа) была всегда активной, т.е. видимой, бе ручной активации, всегда. У меня на переводчике есть такая кнопка "Сделать поверх всех окон", и какая бы не была открыта программа, пока не выключишь эту опции, программа всегда будет видимой и активной. Как можно это сделать все вроде пробовал и на событие "FormDeactivate" ставил Form1.Activate; но скорее всего нужно идти от этого события и делать окно активным, но как, объясните.
![]() Хотя почему-то на это событие ничего не поставишь, не имя заголовок формы, я правильно понял, что оно вызывается, когда форма не активна ? ![]() |
#2
|
|||
|
|||
![]() form1.FormStyle:=fsstayontop;
|
#3
|
||||
|
||||
![]() Код:
SetWindowPos(Form1.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); - То же самое, но так поверх всех окон можно сделать любое окно, зная его идентификатор, для твоей формы это Form1.Handle А так обратно: Код:
SetWindowPos(Form1.Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); Велик и могуч наш Object Pascal ! ICQ: 357-591-887 |
#4
|
||||
|
||||
![]() Спасибо, но как это можно применить на QForms. Т.К. у меня, например есть там другие формы: Form1, Form2...
|
#5
|
||||
|
||||
![]() Как это применить к QForms. т.к. у меня, например есть там другие формы: Form1, Form2... в одной типа "о программе" и т.д. Как мне нужно заменить Form1 на QForm
Код:
SetWindowPos(Form1.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); ![]() Последний раз редактировалось Oleg, 30.12.2007 в 16:16. |
#6
|
||||
|
||||
![]() Ну кто-нибудь, скажите, как это сделать ?
![]() ![]() |