Einzelnen Beitrag anzeigen

Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#3

AW: VST Spalten automatisch an Komponentenbreite anpassen / best practice

  Alt 15. Mär 2019, 09:06
Ich kenne mich mit dem VST's kenn ich mich nicht aus, aber für ein Stringgrid passe ich die breite "autom." an die benötigte Breite an (das Speichern der vorherigen Breite wäre dann überflüssig), müsste hier ja ähnlich möglich sein:

Delphi-Quellcode:
GridColWidth(Stringgrid, 1, 0);

//Stringgrid Spaltenbreite anpassen
procedure TTools.GridColWidth(grd:TStringGrid; min,max:word);
var
  Zeile, Spalte, tmp, len: word;
begin
  with grd do begin // für alle Spalten
    for Spalte:=0 to (ColCount -1) do begin
      len:=0;
      for Zeile:=0 to (RowCount-1) do begin // für alle Zeilen
        tmp:=Canvas.TextWidth(Cells[Spalte,Zeile]);
        if tmp>len then len:=tmp // neue max Breite
      end; // for Zeile
      if max>0 then if len>max then len:=max; // Maximalbreite
      if len<min then len:=min; // Minimalbreite
      ColWidths[Spalte]:=len+GridLineWidth+10 // Spalte verbreitern
    end // for Spalte
  end // with
end;

Edit: Wenn man sie natürlich einfach einblenden/ausblenden kann (wie generic schrieb) ist das natürlich in diesem Fall wesentlich einfacher.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat