Delphi форма на весь экран
Приветствую! Подскажите, пожалуйста, как развернуть форму на весь экран (fullscreen) и чтобы она была поверх всех.
Забыл уточнить. Форма должна «перекрыть» панель задач Windows и окна других прог, установленных поверх остальных.
← →
LLL ( 2002-02-16 19:52 ) [2]
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
Как вариант:
MainForm.Width := Screen.Width;
MainForm.Height := Screen.Height;
по таймеру выполнять:
SetWindowPos
SetActiveWindow
Application.Restore
Этот «как вариант» как раз развернет форму на весь экран, но не накроет панель задач (это и требуется).
← →
Набережных С. ( 2002-02-16 22:39 ) [7]
← →
Набережных С. ( 2002-02-16 22:58 ) [9]
Попробуй «посадить» в 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;
Получаем форму на весь экран и поверх всего, что можно.
>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) ( 2002-02-17 00:04 ) [20]
>Набережных С. (16.02.02 23:57)
У меня эту форму никакая другая перкрыть не может.
К тому же выполняется ээтот ког в обработчике таймера.
← →
Набережных С. ( 2002-02-17 00:13 ) [21]
← →
Almaz ( 2002-02-17 00:14 ) [22]
← →
Набережных С. ( 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]
Странно, я проверял свой вариант.
Работает.
А вот в след. не перекывается панель задач.
>Pat Спасибо! Работает.
Всем спасибо, кто отозвался!
← →
Almas ( 2002-02-19 06:05 ) [27]
а что если воспользоваться своиством формы align:=alClient
Delphi форма на весь экран
| Регистрация
Нормально разворачивается только если BorderStyle установлен в bsSingle, bsSizeable или bsSizeToolWin. Эффект как при нажатии на кнопку «развернуть» в правом верхнем меню окна. Полное описание функции: ShowWindow показывает(или скрывает) окна стандартным способом.Например,функция может свернуть,развернуть или восстановить окно.Функция возвращает 0,если окно было раньше скрыто.Если окно было видимым-возвращает значение, отличное от нуля. hwnd SW_HIDE = 0 Как сделать чтобы изначально форма открывалась на весь экран?Как сделать чтобы изначально форма открывалась на весь экран? Добавлено через 10 минут Помощь в написании контрольных, курсовых и дипломных работ здесь. Как бы сделать так, чтоб форма открывалась на весь экран? Как сделать что бы при нажатии на кнопку форма открывалась на весь экран? Как сделать так, чтобы форма отображалась на весь экран как в играх Как сделать так, чтобы размер формы был максимальным т.е. форма была на весь экран? Как сделать чтобы форма открывалась по центру экрана Как сделать, чтобы сразу открывалась вторая форма? Как сделать, чтобы при открытии форма растягивалась во весь экран и расположенные на ней объекты были всегда в зоне видимости? Как правильно сделать чтобы вторая форма открывалась в первой Как сделать чтобы по клику на кнопке открывалась новая форма? Как сделать чтобы открывалась вторая форма при удачной авторизации Delphi форма на весь экранЛюди подскажите, как сделать так, чтобы форма была на весь экран, т.е. полноэкранный режим? ← → Для этого нужно использовать следующие свойства класса TForm: ← → ← → у меня не видно. приведите код. form1.align:=alclient; //Убираем панель задач Читаем про DirectX и переводим приложение в полноэкранный режим. только так P.S. Подумал, подумал. надо смайлик поставить Описание: Поддержка разворота клиентской части окна во весь экран. Особенности использования: Окно, клиентская часть которого должна быть Авторы: Пол Дилация (С++, MFC), Игорь Шевченко (Delphi) Дата создания: 09.01.2003 История изменений: interface type var function TFullScreenHandler.GetInFullScreenMode : Boolean; initialization unit main; uses type implementation Растягивание формы на весь экран. Программирование Delphi.Сегодня я расскажу как растягивал форму в Delphi во весь экран без искажения из-за разных соотношений высоты и ширины экрана. И изменение масштаба компонент установленных на форме. Самой форме необходимо поменять свойства BorderStyle = bsNone и WindowState = wsMaximized Создаем процедуру procedure FullScreen(oForm: TForm; oPanel: TPanel); Со следующим кодом: Я выносил эту процедуру в отдельный файл (unit), поэтому сделал передачу формы в процедуру. procedure TForm1.FormCreate(Sender: TObject); begin FullScreen(Form1,Panel1); end; Для проверки работоспособности кода поместим на форму две кнопки, в разные углы формы. В результате работы данного приложения, мы получим следующую картину при запуске: Ссылки по теме |
|