Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Form2 auf monitor2 ??? (https://www.delphipraxis.net/44427-form2-auf-monitor2.html)

Bernd29bln 19. Apr 2005 12:07


Form2 auf monitor2 ???
 
Hallo,

Ich möchte das meine Form2 auf meinem 2ten Bildschirm angezeigt wird. wie geht das?

Mfg

Waldteufel 19. Apr 2005 12:13

Re: Form2 auf monitor2 ???
 
Hi.

Warum lässt du den Benutzer nicht selbst entscheiden, wo er das Formular gern hätte? ;-)

Ansonsten ist das wohl bei jedem Hersteller anders... Es müsste da eine API geben...

Bernd29bln 19. Apr 2005 12:18

Re: Form2 auf monitor2 ???
 
Ich hätte gern das es erstmal auf dem 2ten bildschirm läft .
später kann man dem user ja ne option machen, wo er den das fenster gerne hätte.

MfG

Waldteufel 19. Apr 2005 12:20

Re: Form2 auf monitor2 ???
 
Hi.

Dann fällt mir jetzt nur ein, dass du es schon in der IDE auf den 2. Bildschirm schiebst... :gruebel:

Michaela_ 19. Apr 2005 12:21

Re: Form2 auf monitor2 ???
 
Form auf zweiten Bildschirm:

Delphi-Quellcode:
  if Screen.MonitorCount > 1 then begin
    Form2.Left := Screen.Monitors[1].Left;
    Form2.Top:= Screen.Monitors[1].Top;
    end;
lg,
michaela

Bernd29bln 19. Apr 2005 12:39

Re: Form2 auf monitor2 ???
 
Danke Michaela für deine mühe, aber die form landet immer auf dem ersten bildschirm.

hier mal der code.

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
Var
  lDevMode : TDevModeA_new;
  lRes    : Cardinal;
begin
    FillChar(lDevMode, SizeOf(lDevMode), 1);

    lDevMode.dmSize                   := SizeOf(lDevMode);
    lDevMode.dmBitsPerPel             := 32;
    lDevMode.dmDisplayFrequency       := 85;    // alles hard kodiert für meinen 2. Monitor
    lDevMode.dmPelsWidth              := 1024;
    lDevMode.dmPelsHeight             := 768;
    lDevMode.Dual.Monitor.dmPosition.x := 1024; // die Weite/Auflösung des primären Monitors bzw. Lage des Monitors in Relation zum primären Monitor mit 0,0 oben links
    lDevMode.Dual.Monitor.dmPosition.y := 0;
    lDevMode.dmFields                 := DM_BITSPERPEL Or
                                          DM_DISPLAYFREQUENCY Or
                                          DM_PELSWIDTH Or
                                          DM_PELSHEIGHT Or
                                          DM_POSITION;

    lRes := ChangeDisplaySettingsEx( PChar('\\.\DISPLAY2'),
                             TDevMode(lDevMode),
                             0,
                             CDS_UPDATEREGISTRY,
                             0);
    if Screen.MonitorCount > 1 then begin
    Form2.Left := Screen.Monitors[0].Left;
    Form2.Top:= Screen.Monitors[0].Top;
    Form2.Show;

    If lres <> 0 Then
      ShowMessage('hat nicht geklappt');
end;
end;

MfG

Michaela_ 19. Apr 2005 12:46

Re: Form2 auf monitor2 ???
 
Monitors[1].Left

Hast du den zweiten Monitor auch als "Desktop" eingerichtet und nicht nur als "Kopie" der Primärschirmes?

lg,
michaela

Bernd29bln 19. Apr 2005 12:52

Re: Form2 auf monitor2 ???
 
Ja hab ich (Desktop Erweiterung)

MfG

supermuckl 19. Apr 2005 13:06

Re: Form2 auf monitor2 ???
 
du must erstmal den monitor 1 nehmen und nicht 0

und dann könnte es sein, das das form erst sichtbar sein muss und DANN verschieben.

klingt etwas komisch, ist aber bei vielen anwendungen bei mir nicht anderst gegangen (!)

Bernd29bln 19. Apr 2005 13:09

Re: Form2 auf monitor2 ???
 
Kann man die form nicht anders übergeben, an den monitor 2

MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:47 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz