Image во весь экран

Подскажите, как прописать чтобы изображение было на весь экран? то есть вообще форма скрывается и картина по всему экрану.
8 ответов

Использовать BorderStyle = bsNone


Смотря, на чем у тебя изображение рисуется. Если положить Image на Panel, то можно сделать так:
// На весь экран
procedure TForm1.btnFullScreenClick(Sender: TObject);
begin
   Self.WindowState := wsMaximized;
   Self.BorderStyle := bsNone;
   Panel1.Align := alClient;
end;
 
// Вернуть в нормальный вид
procedure TForm1.btnRestoreClick(Sender: TObject);
begin
   Panel1.Align := alNone;
   Self.BorderStyle := bsSizeable;
   Self.WindowState := wsNormal;
end;


Смотря, на чем у тебя изображение рисуется.
Просто на Image, кстати подскажи как сделать чтобы панелька была прозрачной, а то она все цвета на себя собирает.
Смотря, на чем у тебя изображение рисуется. Если положить Image на Panel, то можно сделать так:
// На весь экран
procedure TForm1.btnFullScreenClick(Sender: TObject);
begin
   Self.WindowState := wsMaximized;
   Self.BorderStyle := bsNone;
   Panel1.Align := alClient;
end;
 
// Вернуть в нормальный вид
procedure TForm1.btnRestoreClick(Sender: TObject);
begin
   Panel1.Align := alNone;
   Self.BorderStyle := bsSizeable;
   Self.WindowState := wsNormal;
end;
Сделал все как вы написали(только без панели). Лучше моего, но все же. Нельзя ли на весь экран? то есть прямо на всю форму, и на то место где панель Пуска.В общем скрыл главное меню и все хорошо
Menu := nil;
но вот пуск бы еще скрывать/открывать, было бы классно


но вот пуск бы еще скрывать/открывать, было бы классно
Поменять местами строчки. Сначала выставлять Self.BorderStyle := bsNone;, затем Self.WindowState := wsMaximized;
Self.BorderStyle := bsNone;
Self.WindowState := wsMaximized;


Поменял, но панель пуска так и остается.


Нельзя ли на весь экран?
Вообще-то я привел тебе код совсем не просто так. На моей системе (у меня WinXP) оно так и показывается на весь экран. Панели задач не видно.И, DaMortum, не надо давать вредных советов, а? Сначала заблокировать изменение размера, а потом его изменять? Нелогично. Никогда так не делай больше. Сначала изменяется размер, а потом сбрасывается рамка. Восстанавливается в обратном порядке.


На моей системе (у меня WinXP) оно так и показывается на весь экран.
Жаль что на 7ке так не показывает=)


И, DaMortum, не надо давать вредных советов, а?
У меня работает только так. Скрывает вместе с панелью задач. На семёрке.UI, А что вы можете сказать по этому коду:
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;