AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Aktion nach(!) Zeichnen des Formulars & Controls zentrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Aktion nach(!) Zeichnen des Formulars & Controls zentrieren

Ein Thema von c.wuensch · begonnen am 19. Aug 2006 · letzter Beitrag vom 21. Aug 2006
Antwort Antwort
c.wuensch

Registriert seit: 19. Dez 2004
Ort: Münster
96 Beiträge
 
#1

Aktion nach(!) Zeichnen des Formulars & Controls zentrie

  Alt 19. Aug 2006, 00:26
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
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#2

Re: Aktion nach(!) dem Zeichnen des Formulars ausführen

  Alt 19. Aug 2006, 00:38
wegen nr. 1 evtl. so:

Delphi-Quellcode:
procedure paint;override;

procedure TFormx.Paint;
begin
inherited;
//hier dein code
end;
nr. 2: http://www.delphi-forum.de/viewtopic...500&highlight=

HTH Frank
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Aktion nach(!) dem Zeichnen des Formulars ausführen

  Alt 19. Aug 2006, 00:48
Hallo Chris,

Zitat von c.wuensch:
also scheiden Anchors wohl aus...
Es geht auch mit den Anchors. Zentriere das Control in der IDE über den Ausrichtungs-Dialog (horizontal und vertikal "in Fenster zentrieren"). Anschließend schaltest du alle Anchors für das Control ab.

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
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Aktion nach(!) dem Zeichnen des Formulars ausführen

  Alt 19. Aug 2006, 01:09
Zitat von c.wuensch:
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)?
Vielleicht reicht's ja, mit PostMessage eine benutzerdefinierte Message an die Form zu schicken.

Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
c.wuensch

Registriert seit: 19. Dez 2004
Ort: Münster
96 Beiträge
 
#5

Re: Aktion nach(!) Zeichnen des Formulars & Controls zen

  Alt 19. Aug 2006, 01:19
@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:
Vielleicht reicht's ja, mit PostMessage eine benutzerdefinierte Message an die Form zu schicken.
Das klingt gut, bloß wie mache ich das? Mit Windows-Messages habe ich leider noch nie gearbeitet...

Cu, Chris
  Mit Zitat antworten Zitat
c.wuensch

Registriert seit: 19. Dez 2004
Ort: Münster
96 Beiträge
 
#6

Re: Aktion nach(!) Zeichnen des Formulars & Controls zen

  Alt 21. Aug 2006, 00:10
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
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Aktion nach(!) Zeichnen des Formulars & Controls zen

  Alt 21. Aug 2006, 08:01
Zitat von c.wuensch:
Das mit dem PostMessage habe ich leider immernoch nicht zu meiner Zufriedenheit hinbekommen. Kann mir da vielleicht jemand auf die Sprünge helfen?
Mal sehen.

Erstmal musst du dir eine Message-Konstante definieren:
Delphi-Quellcode:
const
  UM_STARTMODUSCHANGE = WM_APP + 663;
Der genaue Wert der Konstanten ist egal, er sollte nur im von Microsoft angedachten Bereich (> WM_APP) und innerhalb deiner Anwendung eindeutig sein.

An geeigneter Stelle (bei dir vielleicht im OnShow) postest du deine Message:  PostMessage(Handle, UM_STARTMODUSCHANGE, 0, 0); Schließlich musst du die Message auch wieder auffangen:
Delphi-Quellcode:
  TDeineForm = class(TForm)
strict private
  procedure UMStartModusChange(var Message: TMessage); message UM_STARTMODUSCHANGE;
end;
Delphi-Quellcode:
procedure TDeineForm.UMStartModusChange(var Message: TMessage);
begin
  // was auch immer
end;
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.

HTH, Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
c.wuensch

Registriert seit: 19. Dez 2004
Ort: Münster
96 Beiträge
 
#8

Re: Aktion nach(!) Zeichnen des Formulars & Controls zen

  Alt 21. Aug 2006, 22:46
@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
  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 08:17 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