![]() |
TMS TAdvStringGrid, automatisches Wordwrap
Hallo #,
das ganze Gefummel mit dem TStringGrid hat mich nun doch veranlasst, mir TMS anzusehen ( ![]() Ich brauche einen automatischen Umbruch, wenn ein Text nicht in eine Zelle passt (zu lang) Grid.WordWrap oder WordWraps ist ganz nett, nur ... Die Höhe der Zelle/Zeile soll sich natürlich auch anpassen ! Setze ich RowHeights von Hand, klappt es. Nur kenne ich ja die Zeilen nicht. Habe ich was übersehen ? Danke Heiko |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Die Grids vom
![]() |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Hallo,
probiere es mal mit OnGetWordWrap(); |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Erstmal SizeWhileTyping.Height := True setzen, dann sollte es bei der Eingabe schonmal funktionieren.
Und natürlich Options.RowSizing := True setzen. :? |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Hallo,
OnGetWordWrap bringt nichts. SizeWhileTyping.Height -> ich will die Anzeige umbrechen (lassen). Wie ich schon gesagt habe, das WordWrap funktioniert ja, aber man muss die Höhe der Zelle selber "berechnen", dann kann ich das auch selber machen (DrawCell mit wordwrap Option). Heiko |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Hast Du Dir schon die 500 Demos zu den Grid angesehen?
Vielleicht ist da ja etwas dabei. |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Hallo,
das wollte ich ja vermeiden ;) Vielleicht nutzt ja jemand das Grid und kann mir sagen, was ich falsch mache. Heiko |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Ich nutzte das Grid. Allerdings musste ich mit der Zeit feststellen, dass die TMS-Komponenten, besonders das TDBAdvGrid und das TAdvMemo teilweise sehr stark unter Performanceproblemen leiden (damalige Version 3.4+ bis zur 4er).
Daher habe ich komplett Abstand davon genommen. Wie es heute aussieht, kann ich nicht mehr beurteilen. |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Zitat:
ich nutze das Grid. Allerdings ist mir nicht bekannt wie es möglich ist, die Zeilenhöhe _automatisch_ anzupassen. An den Stellen wo ich das benötige mache ich folgendes: Property "multilinecells" natürlich auf "true". Nach dem Zuweisen des Zellinhaltes dann: grid.rowheights[CurrentRow] := grid.defaultrowheight * Anzahlzeilen; oder grid.rowheights[CurrentRow] := Anzahlzeilen * grid.canvas.textheight('M'); Sorry, keine bessere Nachricht. |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Hallo,
aber woher hast du die Anzahl der Zeilen ? Ich habe übrigens gerade TStringAlignGrid von Hörstemeyer probiert, das gleiche Problem. Heiko |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Achja, das hatte ich noch vergessen: Nach dem Einfügen des Textes/der Texte in die Zelle/n noch ein AdvStringgrid1.AutoSizeRows(True) ausführen, dann klappt's auch mit dem Nachbarn 8)
|
Re: TMS TAdvStringGrid, automatisches Wordwrap
Hallo hoika,
schau dir mal die Methode "AutoSizeRows" an. Vorgehensweise: Die Grid-Eigenschaften Multiline oder WordWrap aktivieren, Grid füllen und einmalig am Ende (am besten in einem finally-Abschnitt) die Methode aufrufen. Bei einer größeren Anzahl an Zeilen rate ich zur Verwendung von BeginUpdate/EndUpdate, sonst kommst du tatsächlich in Performance-Probleme. Aber auch bei kleinen Mengen ist deren Verwendung sinnig, vermeidet Flackern. Ach ja, noch eine Kleinigkeit: Wenn du das Grid füllst, solltest du darauf achten, dass die Zeile, in die du gerade schreibst, auch tatsächlich vorhanden ist (RowCount entsprechend hoch); wenn du das Grid erst füllst und dann RowCount auf die tatsächlich verwendete Anzahl Zeilen setzt, ist das zwar möglich, aber es treten mitunter merkwürdige Effekte auf. Hth Greetings Udo "Kretabiker" Treichel |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Hallo,
Grid.AutoSizeRows(True) wars !!! GEKAUFT !!!! :firejump: Das will ich haben !. Danke Heiko |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Zitat:
|
Re: TMS TAdvStringGrid, automatisches Wordwrap
Hallo exilant,
Zitat:
Greetings Udo "Kretabiker" Treichel |
Re: TMS TAdvStringGrid, automatisches Wordwrap
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:03 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