AGB  ·  Datenschutz  ·  Impressum  







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

Panelwidth an Caption anpassen ?

Ein Thema von Hansa · begonnen am 22. Jul 2009 · letzter Beitrag vom 22. Jul 2009
Antwort Antwort
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#1

Re: Panelwidth an Caption anpassen ?

  Alt 22. Jul 2009, 15:59
Zitat von Hansa:
Panel hat doch kein Canvas ?
Doch, hat es sehr wohl, ist jedoch protected. Es bietet sich daher an, eine eigene Klasse TAutoSizePanel zu erstellen (zum Beispiel), oder einfach vom Betriebssystem die passende Größe ermitteln zu lassen, dann gibts auch keine Probleme mit Widestrings und so weiter

Zitat von Hansa:
Delphi-Quellcode:
lblHilf.Caption := (c as TPanel).Caption;
lblHilf.Font := (c as TPanel).Font;
(c as TPanel).Width := lblHilf.Width; // jetzt Breite anpassen
Abgesehen davon, dass das Resourcenverschwendung ist und um den Faktor zehn langsamer, funktioniert das nur, wenn lblHilf.AutoSize=true Außerdem hast Du den im Ursprungspost erwähnten Rand links und rechts vergessen Wenn Du Dich an Deine eigene Aufgabenstellung hältst, musst Du noch mehr machen als in den obigen Zeilen

Zitat von Hansa:
Was soll ich denn überhaupt in mein Programm eine WinAPI-Funktion reinmachen oder irgendwie ein Canvas erzeugen ? Ich lasse einfach das Label die richtige Width errechnen. Das liefert dann dem Panel die richtige Width und fertig. Was ist davon zu halten ?
"reinmachen" musst Du da nirgends Die Unit Windows sollte in den allermeisten VCL-Programmen so oder so schon vorhanden sein Zum Rest siehe oben. Und wo das hinführt: Die Altlast an der ich momentan arbeite hat auf dem Mainform ca. 250 Controls in mehreren Schichten übereinander angeordnet, ca. 30 davon dienen nur dazu, irgendwelche X/Y-Positionen und Abstände zu ermitteln. Vollkommen bescheuert.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  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 16:06 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