![]() |
Aktion nach(!) Zeichnen des Formulars & Controls zentrie
Hallo,
sorry für die dumme Frage, aber wie kann ich denn eine Prozedur ausführen, nachdem mein Hauptformular gezeichnet wurde (OnShow wird ja vorher ausgeführt)? Ach, und noch was: Wie kriege ich es hin, dass ein Control beim Ändern der Formgröße immer in der Mitte bleibt, aber seine Größe nicht ändert (also scheiden Anchors wohl aus...)? Cu, Chris |
Re: Aktion nach(!) dem Zeichnen des Formulars ausführen
wegen nr. 1 evtl. so:
Delphi-Quellcode:
nr. 2:
procedure paint;override;
procedure TFormx.Paint; begin inherited; //hier dein code end; ![]() HTH Frank |
Re: Aktion nach(!) dem Zeichnen des Formulars ausführen
Hallo Chris,
Zitat:
PS: ändere bitte den Titel deines Beitrag so ab, daß auch die zweite Frage über die Suchfunktion gefunden wird. In Zukunft bitte nur eine Frage pro Thread - ist übersichtlicher so. Gruß Hawkeye |
Re: Aktion nach(!) dem Zeichnen des Formulars ausführen
Zitat:
Uli. |
Re: Aktion nach(!) Zeichnen des Formulars & Controls zen
@Hawkeye:
Diese Lösung ist genial! Genau das was ich gesucht hatte, und noch dazu weiß ich jetzt auch, wofür dieser Ausrichten-Dialog gut ist ;-) @Uli: Zitat:
Cu, Chris |
Re: Aktion nach(!) Zeichnen des Formulars & Controls zen
Das mit dem PostMessage habe ich leider immernoch nicht zu meiner Zufriedenheit hinbekommen. Kann mir da vielleicht jemand auf die Sprünge helfen?
Cu, Chris |
Re: Aktion nach(!) Zeichnen des Formulars & Controls zen
Zitat:
Erstmal musst du dir eine Message-Konstante definieren:
Delphi-Quellcode:
Der genaue Wert der Konstanten ist egal, er sollte nur im von Microsoft angedachten Bereich (> WM_APP) und innerhalb deiner Anwendung eindeutig sein.
const
UM_STARTMODUSCHANGE = WM_APP + 663; An geeigneter Stelle (bei dir vielleicht im OnShow) postest du deine Message:
Delphi-Quellcode:
Schließlich musst du die Message auch wieder auffangen:
PostMessage(Handle, UM_STARTMODUSCHANGE, 0, 0);
Delphi-Quellcode:
TDeineForm = class(TForm)
strict private procedure UMStartModusChange(var Message: TMessage); message UM_STARTMODUSCHANGE; end;
Delphi-Quellcode:
Das war's auch schon. Jetzt ist nur noch die Frage, ob der Teil mit "was auch immer" für deine Bedürfnisse zum richtigen Zeitpunkt kommt.
procedure TDeineForm.UMStartModusChange(var Message: TMessage);
begin // was auch immer end; HTH, Uli. |
Re: Aktion nach(!) Zeichnen des Formulars & Controls zen
@Uli: Vielen Dank für das tolle Beispiel!!!
Ich werde das gleich morgen mal testen, und hoffe schonmal, dass die Message wirklich nach dem Zeichnen des Formulars verarbeitet wird. Cu, Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 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 by Thomas Breitkreuz