Gestion de l'écran

De RAD Studio
Aller à : navigation, rechercher

Remonter à Contrôle du comportement de l'application


Une variable globale Screen de type TScreen est créée lors de la création d'un projet. Screen encapsule l'état de l'écran sur lequel votre application s'exécute. Voici les tâches communes effectuées par Screen :

Si votre application VCL s'exécute sur plusieurs moniteurs, la VCL gère efficacement la disposition de l'interface utilisateur de l'application sur plusieurs moniteurs. Par exemple, les menus, les boîtes de dialogue et les autres contrôles pop-up s'ouvrent sur le même moniteur que la fiche parent. Utilisez la variable Screen pour obtenir une liste de moniteurs et leurs dimensions. La propriété Monitors fournit un accès à tous les moniteurs utilisés pour constituer le bureau, et MonitorCount renvoie le nombre de moniteurs. Toutes les coordonnées sont relatives au moniteur primaire. Par exemple, vous pouvez obtenir les informations suivantes :

procedure TForm2.Button1Click(Sender: TObject);
var
  I : integer;
  ScreenCount : integer;
  P: TPoint;
begin
  Memo1.Clear;
  ScreenCount := Screen.MonitorCount;
  P := Mouse.CursorPos;
  Memo1.Lines.Add('Monitor number: ' + IntToStr(ScreenCount) );
  for I := 0 to ScreenCount-1 do begin
    Memo1.Lines.Add('Screen.Width: ' + IntToStr(Screen.Width));
    Memo1.Lines.Add('Monitor: '+IntToStr(Screen.Monitors[I].MonitorNum) );
    Memo1.Lines.Add('Top: '+IntToStr(Screen.Monitors[I].Top) );
    Memo1.Lines.Add('Left: '+IntToStr(Screen.Monitors[I].Left) );
    Memo1.Lines.Add('Width: '+IntToStr(Screen.Monitors[I].Width) );
    Memo1.Lines.Add('Height: '+IntToStr(Screen.Monitors[I].Height) );
    Memo1.Lines.Add('MonitorFromRect(mdNearest): '
      + IntToStr( (Screen.MonitorFromRect(
           TRect.Create(P,100,100), mdNearest)).MonitorNum) );
    Memo1.Lines.Add( 'Mouse.CursorPos: ' + IntToStr(P.X) 
      + ' ' + IntToStr(P.Y) );
  end;
end;

Voir aussi