![]() |
Re: StringGrid Width mit Maus während Laufzeit verändern
hat einer einen tipp für mich?
|
Re: StringGrid Width mit Maus während Laufzeit verändern
Hallo danku,
Mit Length erfragst du die Länge des Textes in Zeichen, d.h. die Anzahl Zeichen im Text. Möchtest du die Breite des Edit-Controls ändern, benötigst du die Breite in Pixel. Die Breite einer Spalte kann über ![]() ![]() Gruß Hawkeye |
Re: StringGrid Width mit Maus während Laufzeit verändern
habs mal getestet:
aber ganz so gehts nicht:
Delphi-Quellcode:
//Editfeld rename.Width:= (fmformat.sgfiles.Canvas.TextWidth(fmformat.sgfiles.cells[0,1])); // funzt nicht 100% da die width des tstringgrids nicht immer übernommen wird //Formularwidth fmrename.width:= (canvas.TextWidth(rename.text)); // problem: die voreingestellte width des tedit wird zur laufzeit angezeigt, aber eben nicht die virtuelle width, d.h. die width von der länge des textes aus der tstringgrid |
Re: StringGrid Width mit Maus während Laufzeit verändern
hast du vll. noch einen anderen vorschlag?
|
Re: StringGrid Width mit Maus während Laufzeit verändern
Hallo,
Zitat:
Eine Lösung für die Kombination goEditing/goRowSelect fällt mir dazu nicht ein. :| Darin könnten auch Deine Probleme mit TextWidth begründet sein. Hast Du mal überprüft ob Dein TextWidth-Code auf die richtige Zelle zugreift? Und hat Dein Edit die gleiche Font-Einstellung wie das StringGrid? Denn sgfiles.Canvas.TextWidth berechnet auf der Grundlage von StringGrid.Font. |
Re: StringGrid Width mit Maus während Laufzeit verändern
Liste der Anhänge anzeigen (Anzahl: 1)
jo die stringgrid und das editfeld haben beide die gleichen fonts.
endungsproblem bei spaltenbreite: --------------------------------- sobald man doppelclickt auf die stringgrid öffnet sich ja das formular, indem dann der inhalt der angeklickten zelle im tedit steht. (der komplette name, weil die filenames bedingt durch die spaltenbreite gekürzt werden) wenn es ein kurzer name des filenames ist, kann man das ja ohne probs ändern, aber bei längeren gibts stress. bspw. ändert man einen filename per doppelclicken auf die stringgrid, wobei man in dem tedit im geöffneten formular die letzten 3zeichen bspw. löscht. es wird zwar der eintrag von tedit übernommen und in die stringgrid (angeklickte zelle) geschrieben
Delphi-Quellcode:
aber statt der endung steht auf einmal '+Ja'.
endung:=copy(fmformat.sgfiles.Cells[0,1],pos('.',fmformat.sgfiles.cells[0,1]),length('.')+3);
fmformat.sgfiles.cells[0,1]:= (rename.text)+endung; kann mir einer sagen warum? das problem tritt immer auf, sobald die filenames über die spaltenbreite hinausragen. |
Re: StringGrid Width mit Maus während Laufzeit verändern
Hallo,
hat length('.') in Deinem Code einen tieferen Sinn :roll: der '.' hat immer die Länge 1, oder? Bzgl. Endung einer Datei, schau Dir mal die Funktion ![]() Zitat:
Innerhalb Deines Codes suchst Du mit Pos nach dem ersten Punkt und kopierst dann 4 Zeichen als Endung ---> '.+ja' Ps.: Deine Fragen weichen immer mehr vom Thema ab, wäre besser wenn Du in solchen Fällen dafür einen neuen Thread eröffnest. Mods: Eventuell können ja die letzten Beiträge abgetrennt werden? |
Re: StringGrid Width mit Maus während Laufzeit verändern
Hi!
Jepp, soweit ich den Screenshot richtig deute, steht da feat.+Jazz Ciao Frederic |
Re: StringGrid Width mit Maus während Laufzeit verändern
Zitat:
das thema hat indirekt mit dem topic zutun, zumal es ja auch um stringgrid während laufzeit geht. Zitat:
ja da ist einer. wie gesagt der setzt anstatt der endung(.mp3) eben das 'Ja' hab das problem mit extractfileext gelöst :thumb: :pale: was es in delphi alles gibt :cyclops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 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