delphi форма на весь экран

Delphi форма на весь экран

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

topdown
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;

topdown
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 ничего не получаем.

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

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

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


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

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

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

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

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

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

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

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

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

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

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

topdown
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;

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

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

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

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

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

Источник

Delphi форма на весь экран

navbits start Форум программистов > Delphi программирование > Общие вопросы Delphi
navbits finallink ltr Как программно развернуть форму на весь экран?
Регистрация

Свойство WindowsState:=wsMaximized раворачивает форму так, что перекрывается панель Виндоуса «Пуск».

Нормально разворачивается только если BorderStyle установлен в bsSingle, bsSizeable или bsSizeToolWin.
При bsDialog, bsNone или bsToolWindow панель Виндоуса с кнопкой «Пуск» действительно почему-то перекрывается.

Эффект как при нажатии на кнопку «развернуть» в правом верхнем меню окна.

Полное описание функции:
Функция ShowWindow
Declare Function ShowWindow Lib «user32.dll» (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Платформа: Win 95/98, Win NT

ShowWindow показывает(или скрывает) окна стандартным способом.Например,функция может свернуть,развернуть или восстановить окно.Функция возвращает 0,если окно было раньше скрыто.Если окно было видимым-возвращает значение, отличное от нуля.

hwnd
дескриптор окна для изменения статуса этого окна.
nCmdShow
Флаги функции,определяющие вид окна:

SW_HIDE = 0
Скрыть окно и активизировать другое окно.
SW_MAXIMIZE = 3
Развернуть окно.
SW_MINIMIZE = 6
Свернуть окно и активизировать следующее окно в Z-порядке(следующее под свернутым окном).
SW_RESTORE = 9
Активизировать и отобразить окно.Если окно свернуто или развернуто,Windows восстанавливает его исходный размер и положение.
SW_SHOW = 5
Активизировать окно.
SW_SHOWMAXIMIZED = 3
Отобразить окно в развернутом виде.
SW_SHOWMINIMIZED = 2
Отобразить окно в свернутом виде.
SW_SHOWMINNOACTIVE = 7
Отобразить окно в свернутом виде.Активное окно остается активным.
SW_SHOWNA = 8
Отобразить окно в текущем состоянии.Активное окно остается активным.
SW_SHOWNOACTIVATE = 4
Отобразить окно в соответствии с последними значениями позиции и размера.Активное окно остается активным.
SW_SHOWNORMAL = 1
Активизировать и отобразить окно.Если окно свернуто или развернуто,Windows восстанавливает его исходный размер и положение.Приложение должно указывать этот флаг при первом отображении окна.

Источник

Как сделать чтобы изначально форма открывалась на весь экран?

Как сделать чтобы изначально форма открывалась на весь экран?

Добавлено через 10 минут
С первой формой получается, а вот со второй что то никак

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как бы сделать так, чтоб форма открывалась на весь экран?
Еще раз приветствую. Как бы сделать так, чтоб форма открывалась на весь экран (экраны разные.

tickКак сделать что бы при нажатии на кнопку форма открывалась на весь экран?
Что как

tickКак сделать так, чтобы форма отображалась на весь экран как в играх
Как сделать так, чтобы форма отображалась на весь экран как в играх?

Как сделать так, чтобы размер формы был максимальным т.е. форма была на весь экран?
Привет. Помогите, пожалуйста, решить пару проблем. Есть Эксел файл, при открытии которого.

Как сделать чтобы форма открывалась по центру экрана
Здравствуйте. 1.Как сделать так, чтобы при переключении между элементами меню на форме, форма.

tickКак сделать, чтобы сразу открывалась вторая форма?
Как сделать, чтобы при запуске сразу открывалась вторая форма? С#

tickКак сделать, чтобы при открытии форма растягивалась во весь экран и расположенные на ней объекты были всегда в зоне видимости?
Такое вообще возможно?

Как правильно сделать чтобы вторая форма открывалась в первой
У меня есть главная форма и мне надо набить код чтобы когда я компилирую мне сперва вибивало форма.

Как сделать чтобы по клику на кнопке открывалась новая форма?
Подскажите пожалуйста.У менять есть две формы (окна): MyForm и MyForm1. Первоначально открывается.

Как сделать чтобы открывалась вторая форма при удачной авторизации
Программа имеет вот такой код: Public Class Form1 Private Sub Button1_Click(sender As.

Источник

Delphi форма на весь экран

Люди подскажите, как сделать так, чтобы форма была на весь экран, т.е. полноэкранный режим?

topdown
TUser © ( 2004-03-26 16:48 ) [2]

Для этого нужно использовать следующие свойства класса TForm:
TForm.Width
TForm.Height
TForm.FormStyle
TForm.FAQ

topdown
TUser © ( 2004-03-26 16:55 ) [3]

topdown
Anatoly Podgoretsky © ( 2004-03-26 19:33 ) [4]

у меня не видно. приведите код.

form1.align:=alclient;
form1.windowstate:=wsMaximized;
Form1.formstyle:=fsStayOnTop;
Свойства формы, которые я поставил, а пуск всё равно видно.

//Убираем панель задач
ShowWindow(FindWindow(«Shell_TrayWnd», nil), SW_HIDE);

Читаем про DirectX и переводим приложение в полноэкранный режим. только так

P.S. Подумал, подумал. надо смайлик поставить :)

Описание: Поддержка разворота клиентской части окна во весь экран.
Источник: статья Пола Дилация в MSDN Magazine № 6(12) 2002 г.

Особенности использования: Окно, клиентская часть которого должна быть
развернута во весь экран, должно обрабатывать
сообщение WM_GETMINMAXINFO и устанавливать
свой максимальный размер больше, чем размер
экрана.

Авторы: Пол Дилация (С++, MFC), Игорь Шевченко (Delphi)

Дата создания: 09.01.2003

История изменений:
>
unit FullScreenUnit;

interface
uses
Windows, Controls;

type
TFullScreenHandler = class
private
FRestoreRect : TRect;
function GetInFullScreenMode : Boolean;
function GetMaxSize : SIZE;
public
< Развернуть клиентскую область окна во весь экран >
procedure Maximize (AWinControl : TWinControl);
< Восстановить клиентскую область окна >
procedure Restore (AWinControl : TWinControl);
< Развернута ли клиентская область окна во весь экран >
property InFullScreenMode : Boolean read GetInFullScreenMode;
< Максимально возможный размер окна, такой, чтобы клиентская область
уместилась во весь экран. >
property MaxSize : SIZE read GetMaxSize;
end;

var
FullScreenHandler : TFullScreenHandler;

function TFullScreenHandler.GetInFullScreenMode : Boolean;
begin
Result := not IsRectEmpty(FRestoreRect);
end;

initialization
FullScreenHandler := TFullScreenHandler.Create();
finalization
FullScreenHandler.Free();
end.

unit main;

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls;

type
TfMain = class(TForm)
MainMenu: TMainMenu;
View1: TMenuItem;
miFullScreen: TMenuItem;
Image: TImage;
miHelp: TMenuItem;
About: TMenuItem;
procedure miFullScreenClick(Sender: TObject);
procedure ImageDblClick(Sender: TObject);
procedure AboutClick(Sender: TObject);
private
procedure WMGetMinMaxInfo(var Message : TWMGetMinMaxInfo);
message WM_GETMINMAXINFO;
end;

implementation
uses
FullScreenUnit, About;

Источник

Растягивание формы на весь экран. Программирование Delphi.

Сегодня я расскажу как растягивал форму в Delphi во весь экран без искажения из-за разных соотношений высоты и ширины экрана. И изменение масштаба компонент установленных на форме.

Самой форме необходимо поменять свойства BorderStyle = bsNone и WindowState = wsMaximized

33722 9083391

Создаем процедуру procedure FullScreen(oForm: TForm; oPanel: TPanel);

Со следующим кодом:

Я выносил эту процедуру в отдельный файл (unit), поэтому сделал передачу формы в процедуру.

procedure TForm1.FormCreate(Sender: TObject); begin FullScreen(Form1,Panel1); end;

Для проверки работоспособности кода поместим на форму две кнопки, в разные углы формы.

33722 9083392

В результате работы данного приложения, мы получим следующую картину при запуске:

33722 9083393

Ссылки по теме

Помощь
Задать вопрос
программы
обучение
экзамены
компьютеры