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

Вниз

Форма на весь экран   Найти похожие ветки 

 
MK   (2002-02-16 18:28) [0]

Приветствую! Подскажите, пожалуйста, как развернуть форму на весь экран (fullscreen) и чтобы она была поверх всех.


 
MK   (2002-02-16 18:54) [1]

Забыл уточнить... Форма должна "перекрыть" панель задач Windows и окна других прог, установленных поверх остальных.


 
LLL   (2002-02-16 19:52) [2]

FormStyle fsStayOnTop

procedure TForm1.FormCreate(Sender: TObject);
begin
Top:=0;
Left:=0;
Height:=Screen.Height;
Width:=Screen.Width;
end;


 
Yr2 ©   (2002-02-16 20:55) [3]

еще проще: установить свойство формы WindowState:=wsMaximized;
см. также свойство Position


 
MK   (2002-02-16 21:49) [4]

К сожалению не работает ни то не другое. Нужно, чтобы форма была поверх панели задач Windows, поверх ВСЕХ окон всех приложений. Что-то слышал про SetWindowPos, но как и его ее использовать - не знаю.


 
panov (M) ©   (2002-02-16 22:16) [5]

Как вариант:
MainForm.Width := Screen.Width;
MainForm.Height := Screen.Height;

по таймеру выполнять:
SetWindowPos
SetActiveWindow
Application.Restore


 
MK   (2002-02-16 22:29) [6]

Этот "как вариант" как раз развернет форму на весь экран, но не накроет панель задач (это и требуется).


 
Набережных С.   (2002-02-16 22:39) [7]

SetWindowPos(Handle,HWND_TOPMOST,0,0,Screen.Width,Screen.Height,0);


BorderStyle:=bsNone.


 
MK   (2002-02-16 22:47) [8]

SetWindowPos поместил в OnCreate, в результате панель задач все таки осталась наверху - не пойму в чем дело...


 
Набережных С.   (2002-02-16 22:58) [9]

Попробуй "посадить" в OnShow.


 
MK   (2002-02-16 23:03) [10]

"Посадил" в OnShow - ничего... Буду дальше думать, наверно я достал всех уже...


 
Набережных С.   (2002-02-16 23:24) [11]

Проверь еще WindowState := wsNormal


 
panov (M) ©   (2002-02-16 23:26) [12]

>MK (16.02.02 22:29)
С чего это он не перекроет панель задач?


 
panov (M) ©   (2002-02-16 23:27) [13]

И проверь вот это пример:
SetWindowPos(Application.MainForm.Handle,HWND_TOPMOST,0,0,Screen.Width,Screen.Height,SWP_SHOWWINDOW);
SetActiveWindow(Application.MainForm.Handle);
Application.Restore;


 
Almaz ©   (2002-02-16 23:28) [14]

Попробуйте такой вариант:
Для формы устанавливаем:
BorderStyle := bsNone;
FormStyle := fsStayOnTop;


Затем в обработчике OnCreate пишем:
procedure TForm1.FormCreate(Sender: TObject);
begin
WindowState := wsMaximized;
end;


Получаем форму на весь экран и поверх всего, что можно.

Удачи.


 
Набережных С.   (2002-02-16 23:30) [15]

>Almaz © (16.02.02 23:28)

IMHO ничего не получаем.


 
Almaz ©   (2002-02-16 23:41) [16]

>Набережных С.
А вы проверьте сначала...


 
Набережных С.   (2002-02-16 23:50) [17]


> Almaz © (16.02.02 23:41)
> >Набережных С.
> А вы проверьте сначала...


Да не требуется - и так ясно. А Вы проверьте.


 
panov (M) ©   (2002-02-16 23:50) [18]

>Almaz © (16.02.02 23:41)
Могут быть и другие подобные формы... У других приложений...
В этом случае может и не получиться.


 
Набережных С.   (2002-02-16 23:57) [19]


> panov (M) (16.02.02 23:50)


Любая форма другого приложения может перекрыть такое окно.


 
panov (M) ©   (2002-02-17 00:04) [20]

>Набережных С. (16.02.02 23:57)
У меня эту форму никакая другая перкрыть не может.
К тому же выполняется ээтот ког в обработчике таймера...


 
Набережных С.   (2002-02-17 00:13) [21]

Иду пробовать


 
Almaz ©   (2002-02-17 00:14) [22]

>Набережных С. (16.02.02 23:50)
>Да не требуется - и так ясно. А Вы проверьте.
Слишком вы самоуверены. Потрудитесь все-таки сначала проверять, потом говорить.


 
Набережных С.   (2002-02-17 00:37) [23]

>Almaz ©
>panov (M)
Приношу извинения и посыпаю голову пеплом! Большой сюрприз для меня, надо будет разобраться.


 
Pat ©   (2002-02-17 00:55) [24]

Вроде работает:

procedure TForm1.FormCreate(Sender: TObject);
var Rect:TRect;
begin
borderstyle:=bsnone;
left:=0;
top:=0;
width:=screen.Width;
height:=screen.Height;
GetWindowRect(handle,Rect);
SetWindowPos(Handle,HWND_TOPMOST,Rect.Left,Rect.Top,Rect.Right-Rect.Left,Rect.Bottom-Rect.Top, SWP_SHOWWINDOW);
end;



 
LLL   (2002-02-17 14:49) [25]

Странно, я проверял свой вариант.
Работает.
А вот в след. не перекывается панель задач.


 
MK ©   (2002-02-17 18:12) [26]

>Pat Спасибо! Работает!!!
Всем спасибо, кто отозвался!


 
Almas ©   (2002-02-19 06:05) [27]

а что если воспользоваться своиством формы align:=alClient



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

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

Наверх




Память: 0.52 MB
Время: 0.012 c
14-19302
Potemkin
2002-01-18 10:26
2002.03.07
Вопрос по QR3


1-19133
SergeyVP
2002-02-21 08:06
2002.03.07
Курсор в RichEdit


3-19087
DDDD
2002-02-08 10:16
2002.03.07
QuickRep


1-19234
kaif
2002-02-17 17:55
2002.03.07
Как спастись от авторазмера MDIChildren?


1-19265
Masa
2002-02-20 17:09
2002.03.07
Люди обьясните что такое Handle ?