AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form Position beim Programmstart setzen

Ein Thema von TurboMagic · begonnen am 27. Okt 2022 · letzter Beitrag vom 28. Okt 2022
Antwort Antwort
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.827 Beiträge
 
Delphi 12 Athens
 
#1

Form Position beim Programmstart setzen

  Alt 27. Okt 2022, 20:36
Hallo,

an welcher Stelle in D11.2 kann ich Left und Top
meines Hauptfensters zur Laufzeit setzen um das Fenster
zu positionieren?

Im OnCreate und OnShow hat es nicht geklappt.
Wie muss .Position eingestellt sein?

Ändern von Width und Height im klappt.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Form Position beim Programmstart setzen

  Alt 27. Okt 2022, 20:38
Stell sicher das Position auf poDesigned steht dann sollte es im OnCreate eigentlich keine Probleme geben.

//edit
Gerade getestet, funktioniert.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Self.Position := poDesigned;
  Self.Left := 500;
  Self.Top := 500;
end;
Gruß vom KodeZwerg

Geändert von KodeZwerg (27. Okt 2022 um 20:41 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.827 Beiträge
 
Delphi 12 Athens
 
#3

AW: Form Position beim Programmstart setzen

  Alt 27. Okt 2022, 20:49
Probiere ich nachher! Danke!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.165 Beiträge
 
Delphi 12 Athens
 
#4

AW: Form Position beim Programmstart setzen

  Alt 27. Okt 2022, 22:46
Je nach Position behandelt die VCL das unterschiedlich.
teileise wird Left/Top/Monitor dann im/nach dem Contruktor überschrieben, oder vor oder nach deinem OnShow bzw. auch OnActivate.

poDesigned sagt = ALLES wie ich es sage ... such/änder DU böse VCL nichts
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Form Position beim Programmstart setzen

  Alt 28. Okt 2022, 03:57
Hallo,
FormActivate sollten immer klappen ...
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.354 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Form Position beim Programmstart setzen

  Alt 28. Okt 2022, 08:00
Hallo,
FormActivate sollten immer klappen ...
Aber Vorsicht:
Das wird nicht nur einmal ausgeführt, so dass man sich dann noch merken muss, dass der erste Aufruf schon erfolgt war.

Deshalb würde ich das für solche "Nach Start und Formanzeige"-Aktionen auch nicht empfehlen. Besser ist, wenn man sich selbst z.B. im OnCreate per PostMessage eine Nachricht schickt. Die wird dann auch nach dem Starten verarbeitet, aber eben ganz von alleine nur einmal und außerhalb der internen Formularlogik.

Für diesen Zweck hier ist das aber gar nicht nötig, wie ja schon geschrieben wurde.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.827 Beiträge
 
Delphi 12 Athens
 
#7

AW: Form Position beim Programmstart setzen

  Alt 28. Okt 2022, 08:27
Stell sicher das Position auf poDesigned steht dann sollte es im OnCreate eigentlich keine Probleme geben.

//edit
Gerade getestet, funktioniert.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Self.Position := poDesigned;
  Self.Left := 500;
  Self.Top := 500;
end;
Funktioniert wie es soll. Danke!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 Uhr.
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