Difference between revisions of "Application full screen mode/fr"
(Created page with "==Introduction== Quelques applications telles des fouineurs Web permettent de montrer en mode plein écran en utilisant la touche {{keypress|F11}}. En mode plein écran, la f...") |
m (Fixed syntax highlighting) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Application_full_screen_mode}} | ||
+ | |||
==Introduction== | ==Introduction== | ||
Line 13: | Line 15: | ||
==Programme d'exemple== | ==Programme d'exemple== | ||
− | <syntaxhighlight>unit Unit1; | + | <syntaxhighlight lang=pascal>unit Unit1; |
{$mode objfpc}{$H+} | {$mode objfpc}{$H+} | ||
Line 88: | Line 90: | ||
''Pour Windows:'' | ''Pour Windows:'' | ||
− | <syntaxhighlight>function GetTaskBarSize: TRect; | + | <syntaxhighlight lang=pascal>function GetTaskBarSize: TRect; |
begin | begin | ||
SystemParametersInfo(SPI_GETWORKAREA, 0, @Result, 0); | SystemParametersInfo(SPI_GETWORKAREA, 0, @Result, 0); | ||
Line 96: | Line 98: | ||
Pour passr la fiche dans les dimensions plein écran: | Pour passr la fiche dans les dimensions plein écran: | ||
− | <syntaxhighlight>gdk_window_fullscreen(PGtkWidget(Handle)^.window);</syntaxhighlight> | + | <syntaxhighlight lang=pascal>gdk_window_fullscreen(PGtkWidget(Handle)^.window);</syntaxhighlight> |
Pour revenir au mode normal: | Pour revenir au mode normal: | ||
− | <syntaxhighlight>gdk_window_unfullscreen(PGtkWidget(Handle)^.window);</syntaxhighlight> | + | <syntaxhighlight lang=pascal>gdk_window_unfullscreen(PGtkWidget(Handle)^.window);</syntaxhighlight> |
C'est uniquement pour GTK2. Vous devez ajouter à la section uses des unités tels que gtk2, gdk2, glib2.Vous pouvez le faire avec la directive {$IFDEF LCLGTK2}, gtk2, gdk2, glib2{$ENDIF}. | C'est uniquement pour GTK2. Vous devez ajouter à la section uses des unités tels que gtk2, gdk2, glib2.Vous pouvez le faire avec la directive {$IFDEF LCLGTK2}, gtk2, gdk2, glib2{$ENDIF}. | ||
Line 116: | Line 118: | ||
* [http://delphi.about.com/od/delphitips2010/qt/delphi-application-full-screen-mode-f11.htm Run Your Delphi Application in Full Screen - Implement "F11 - Full Screen"] | * [http://delphi.about.com/od/delphitips2010/qt/delphi-application-full-screen-mode-f11.htm Run Your Delphi Application in Full Screen - Implement "F11 - Full Screen"] | ||
− | + | * [http://lazplanet.blogspot.com/2014/02/make-your-form-fullscreen.html Very simple way to make your form Fullscreen & Restore (LazPlanet)] | |
− | [[Category:Tutorials]] | + | [[Category:Tutorials/fr]] |
− | [[Category:Lazarus]] | + | [[Category:Lazarus/fr]] |
Latest revision as of 08:30, 9 February 2020
│
English (en) │
français (fr) │
Introduction
Quelques applications telles des fouineurs Web permettent de montrer en mode plein écran en utilisant la touche F11. En mode plein écran, la fenêtre n'a pas de bordure ni de barre de titre et occupe l'espace entier. La barre de tâche est aussi cachée.
Pour être capable de passer en mode plein écran, vous aurez besoin:
- de mémoriser l'état antérieur de la fiche tel que la position, la taille et l'état de la fenêtre
- d'être capable de déterminer la taille de l'écran
- de capturer quelque touche et d'effectuer l'opération
La meilleure façon de capturer la touche voulue consiste à utiliser les Actions. Définissez simplement une nouvelle action dans le gestionnaire d'actions et affectez-lui un raccourci-clavier. Ainsi le raccourci fonctionnera même si la fiche perd le focus.
Programme d'exemple
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
Menus;
type
{ TForm1 }
TForm1 = class(TForm)
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
private
public
OriginalBounds: TRect;
OriginalWindowState: TWindowState;
ScreenBounds: TRect;
procedure SwitchFullScreen;
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState
);
const
KeyF11 = 122;
begin
if Key = KeyF11 then SwitchFullScreen;
end;
procedure TForm1.SwitchFullScreen;
begin
if BorderStyle <> bsNone then begin
// To full screen
OriginalWindowState := WindowState;
OriginalBounds := BoundsRect;
BorderStyle := bsNone;
ScreenBounds := Screen.MonitorFromWindow(Handle).BoundsRect;
with ScreenBounds do
SetBounds(Left, Top, Right - Left, Bottom - Top) ;
end else begin
// From full screen
{$IFDEF MSWINDOWS}
BorderStyle := bsSizeable;
{$ENDIF}
if OriginalWindowState = wsMaximized then
WindowState := wsMaximized
else
with OriginalBounds do
SetBounds(Left, Top, Right - Left, Bottom - Top) ;
{$IFDEF LINUX}
BorderStyle := bsSizeable;
{$ENDIF}
end;
end;
end.
Obtenir la taille de la barre de tâche
Si vous voulez garder la barre de tâches visible, vous devez ajuster la taille en fonction de la position et de la taille de la barre de tâche.
Pour Windows:
function GetTaskBarSize: TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA, 0, @Result, 0);
end;
Façon GTK de passer en mode plein écran
Pour passr la fiche dans les dimensions plein écran:
gdk_window_fullscreen(PGtkWidget(Handle)^.window);
Pour revenir au mode normal:
gdk_window_unfullscreen(PGtkWidget(Handle)^.window);
C'est uniquement pour GTK2. Vous devez ajouter à la section uses des unités tels que gtk2, gdk2, glib2.Vous pouvez le faire avec la directive {$IFDEF LCLGTK2}, gtk2, gdk2, glib2{$ENDIF}.
Changer la résolution de l'écran
Actuellement, il n'y a pas de manière indépendante de l'OS pour basculer la résolution de l'écran.
Pour Windows, vous pouvez trouver des informations dans l'article pour Delphi Get and Set Screen Resolution (Display Device Modes)