![]() |
Client Area von Form beschränken
Tag,
ja ich habe bereits die Suche verwendet. Leider hilft mir ![]() ich habe ein Formular mit Border := bsNone; Daher wird ein Panel (z.B. für ein Menü oben) das alTop hat, bei x:0;y:0 beginnend gezeichnet. Gefällt mir nicht. Da mein Form. ein paar Bitmaps für den Rand und die "Titelleiste" zeichnet. Jetzt würde ich trotzdem gern eine eigene "ClientArea" definieren. Wie mach ich das? Danke, Daniel |
Re: Client Area von Form beschränken
Dann setze Align wieder auf alNone, positioniere dein Panel so wie es sein soll (im Formular) und setze zusätzlich Right in der Eigenschaft "Anchors". Dann ist der rechte Rand des Controls am rechten Rand des übergeordneten Controls (bzw. der Form) "verankert".
|
Re: Client Area von Form beschränken
gibts keine schönere möglichkeit?
|
Re: Client Area von Form beschränken
Schreibe einen Handler für WM_NCCALCSIZE.
Allerdings weiß ich nicht, ob Delphi dann nicht vielleicht mit den Aligns und Anchors durcheinanderkommt :gruebel: |
Re: Client Area von Form beschränken
Danke für den Tipp. Aber das is gerade der typische fall: "dem hund n knochen wortlos hinwerfen"
sorry - wie und was müsste ich hierfür tun? danke |
Re: Client Area von Form beschränken
Zitat:
Zitat:
WM_* sollte dich darauf aufmerksam machen, daß es sich um eine Fensternachricht handelt. Wenn man sich dann über ![]() Alles redundante Information, da sie oben bereits drinsteckte. |
Re: Client Area von Form beschränken
Du hast doch eine Enterprise-Version. Schau in der Unit Forms nach der Routine TCustomForm.WMNCCalcSize (als Beispiel). Dann reduziert Windows aber den Client-Bereich und du kannst nicht mehr mit dem normalen OnPaint drauf zeichnen, sondern musst WM_NCPAINT ebenfalls abfangen überschreiben.
//EDIT: roten Kasten gesehen und ignoriert (das passiert wenn man anfängt und dann zwischendurch 15 Min. telefoniert 8)) [Nachtrag] Schöne Beispiele sind auch TWinControl.WMNCCalcSize und TWinControl.WMNCPaint in der Unit Controls. //EDIT: Durchgestrichene Passage geändert |
Re: Client Area von Form beschränken
Zitat:
|
Re: Client Area von Form beschränken
Danke werd ich mir anschauen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 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