Mehrzeilige Captions
-
Oder mit WordWrap. Wenn man das auf true setzt ( AutoSize auf false und das Label in die entsprechende Größe ziehen ) macht er die Zeilenumbrüche automatisch.
Gruß
FightingWolf
-
Also bei mir funktioniert das nicht.
Ich hab WordWrap = true und AutoSize = false und trotzdem macht er bei mir keine Zeilenumbrüche.

-
Sollte aber. In meinem BCB 6 muß dafür nicht mal die Standardeinstellungen verärndern. Nur ein TLalel hinpacken und für den Zeilenumbruch ein \r\n einfügen. \n sollte sogar reichen.
-
Mit \n funktioniert es auch.
Es wäre aber optimal, wenn mein Label es automatisch tun würde.
Die Captions werden zur Laufzeit immer verändert und abhängig von der Breite der Buchstaben ändert sich auch ständig die Position wo ich das \n einfügen müsste.
-
Was passiert denn? Respektive hast Du das Label auch groß genug gemacht?
-
Label1->WordWrap = true; Label1->AutoSize = false; Label1->Caption = "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW";Das Label ist in der Höhe über 300 Pixel groß.
Der Rand vom Label verschluckt die Buchstaben trotzdem noch.
-
Pack doch mal ein paar Leerzeichen in den String rein

-
Hallo
Das heißt nämlich auch WordWrap, nicht CharWrap.
bis bald
akari
-
Achso, er erkennt das immer an den Leerzeichen.
Na gut, kann man das auch so einstellen, dass er das Anhand der Breite der Zeile in Pixeln erkennt, also immer genau am Rand einen Umbruch macht?
-
Hallo
Nein das beherscht TLabel nicht. Das müßtest du selber programmieren.
bis bald
akari
-
Ok danke für eure Hilfe.
Ich werde mir dann mal was ausdenken.
-
Schau Dir mal TCanvas::TextExtent() an. Damit kannst Du die Größe eines gegebenen Textes in Pixeln (Höhe und Breite) ermitteln.
-
Ich mach das ganz einfach mit TMemo.
TMemo hat die Eigenschaft, an den richtigen Stellen einen Umbruch zu machen.
Der einzige wesentliche Unterschied ist bloß, dass man in der Memo den Text markieren kann, das spielt aber keine Rolle bei dem, was ich mache.