![]() |
3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden
Guten Tag sehr geehrte Community wie immer bin ich auf der Suche nach ein paar hilfreichen Antworten.
Bisher habe ich meine Programme immer mit Form.Borderstyle := BsNone; und z.b left := screen.desktopLeft; ausgeführt. Mit 2 Bildschirmen kein Problem. Nun habe ich 3 und ich möchte aber dass das Programm beim ausführen den Monitor nimmt auf dem ich Delphi offen habe und Debugge. Leider kommt er mir immer auf den ersten ganz links was auch mit screen.desktopleft sich logisch erklären lässt. Aber wie kann ich ihm anweisen das er auf diesen Monitor sich konzentrieren soll wo ich delphi habe und Ihn darauf ausführe Über jede Idee wäre ich sehr Dankbar. Freundliche Grüße |
AW: 3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden
Habs herausgefunden ^^ mit screen.Monitors[0].left;
|
AW: 3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden
Eine Option kann auch sein, die Position beim Schließen in einer Ini zu speichern und beim nächsten Start wieder zu laden. So kannst Du jederzeit leicht eine neue Position festlegen.
Funktioniert für mich super.
Delphi-Quellcode:
procedure TFormX.LoadIni;
var IniFile: TIniFile; begin try IniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + IniFileName); WindowState := wsNormal; Position := poDesigned; Top := IniFile.ReadInteger(IniFileName, 'Top', Top); Left := IniFile.ReadInteger(IniFileName, 'Left', Left); Width := IniFile.ReadInteger(IniFileName, 'Width', Width); Height := IniFile.ReadInteger(IniFileName, 'Height', Height); finally FreeAndNil(IniFile); end; end; procedure TFormX.SaveIni; var IniFile: TIniFile; begin try IniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + IniFileName); IniFile.WriteInteger(IniFileName, 'Top', Top); IniFile.WriteInteger(IniFileName, 'Left', Left); IniFile.WriteInteger(IniFileName, 'Width', Width); IniFile.WriteInteger(IniFileName, 'Height', Height); finally FreeAndNil(IniFile); end; end; procedure TFormX.FormCreate(Sender: TObject); begin LoadIni; end; ... procedure TFormX.FormClose(Sender: TObject; var Action: TCloseAction); begin SaveIni; end; |
AW: 3 Monitore. Delphi soll aber nur auf einem bestimmten ausgeführt werden
Bitte das
Delphi-Quellcode:
vor den
TIniFile.Create()
Delphi-Quellcode:
Block setzen. Ansonsten könnte es passieren, dass der Aufruf von
try ... finally
Delphi-Quellcode:
nicht funktioniert und dein
Create()
Delphi-Quellcode:
Abschnitt ebenfalls aufgrund einer ungültigen Instanz bzw. eines ungültigen Zeigers crashed.
finally
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz