Delphi-PRAXiS

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 Align = alClient funktioniert nicht mit CreateParented() (https://www.delphipraxis.net/16516-align-%3D-alclient-funktioniert-nicht-mit-createparented.html)

mirage228 18. Feb 2004 12:17


Align = alClient funktioniert nicht mit CreateParented()
 
Hallo,

ich übergebe einer DLL ein Handle auf eine PageControl-Seite. Auf dieser Wollte ich ein Panel erstellen. Dazu gibt es den Konstruktor CreateParented. Ich setzte danach Align vom Panel auf alClient, damit es immer die ganze PageControl-Seite bedeckt. Aber es funktioniert nicht. Align hat keine Auswirkungen. Auch wird ParentBackground ignoriert. Auf meinem weissen Xp-Style-PageControl wird ein graues Panel erstellt.
Weiss jemand Abhilfe oder ist mein Vorhaben unmöglich?

mfG
mirage228

mschaefer 18. Feb 2004 12:30

Re: Align = alClient funktioniert nicht mit CreateParented()
 
Moin, moin Mirage

Das scheint an Deinem Create zu hängen. Mit der dll sollte das in keinem Zusammenhang stehen.
Eventuell hilft nach dem Align ein Apllication.ProcessMessages.
Sonst bleibt Dir wohl nichts anderws übrig als die Koordinaten des Panels kurzum von Hand
zu übergeben Left := 0; Top := 0; Widt := parent.Width heigth := parent.heigth...

Grüße // Martin

mirage228 18. Feb 2004 12:33

Re: Align = alClient funktioniert nicht mit CreateParented()
 
Hi,

Danke für den Tipp.
Jedoch, weiss ich nicht, wie meine Anwendung wissen soll, wann ich in der DLL das CreateParented aufrufe...? (Das Panel wird in der DLL erstellt)

mfG
mirage228

mschaefer 18. Feb 2004 12:44

Re: Align = alClient funktioniert nicht mit CreateParented()
 
Hallo Mirage

Tja das geht jetzt nur über die Windows-Botschaften. Du mußt sicherlich
auf Größenordnungen reagieren. Die Dll muß von sich aus die Windows Messages
überwachen. Also mußt du auf das WM_SIZE Ereignis dieses Handels reagieren.

Ja jetzt wirds knifflig

Martin

mirage228 18. Feb 2004 13:19

Re: Align = alClient funktioniert nicht mit CreateParented()
 
Hi,

Ja, das werde ich dann wohl tun müssen.

Aber was mache ich nun mit der Farbe...?

mfG
mirage228

mschaefer 18. Feb 2004 14:29

Re: Align = alClient funktioniert nicht mit CreateParented()
 
Well die Farbe, mit ist kein Verfahren bekannt wie man die Farbe eines Object im Fensterhändel bestimmen kann. Wohlgemerkt m i r das es irgendwie geht beweisen verschiedene Bildschirmschriftübesetzungsprogramme.

Ok, ich würde daher mal mit der Annahme arbeiten, das das PageControl einfach die Buttonfarbe
hat und das Panel eben ausch auf diese Systemfarbe einstellen. Ok ist etwas unbefridigend. Oder was Du nicht verbergen kannst betone und mach das Panel halt knallgelb und setzt dies Schrift auf Schwarz
:mrgreen: :wall: :mrgreen:


Grüße // Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:50 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