Einzelnen Beitrag anzeigen

angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: TStringGrid: optimale Breite einer Spalte

  Alt 20. Jul 2009, 17:55
Zitat von hoika:
Hallo,

ja schon klar

GetSystemMetrics(SM_CXVSCROLL) ergibt bei mir aber 16, nicht 10.
Setze ich das so ein (statt der 10),
ist die Spalte zu schmal.


Heiko

Hey,

daran liegts auch nicht Du hast nur + mit Minus verwechselt

Delphi-Quellcode:
procedure Grid_SetOptimalWidth(theGrid: TStringGrid;
  const theColumn: Integer);
var
  iLeftWidth : Integer;
  iColWidth : Integer;
  iCol : Integer;
begin
  try
    iColWidth:= 0;
    for iCol:= 0 to theGrid.ColCount-1 do
    begin
      if iCol<>theColumn then
      begin
        iColWidth:= iColWidth+theGrid.ColWidths[iCol];
      end;
    end;
    iColWidth:= iColWidth + (theGrid.GridLineWidth*theGrid.ColCount); // Da du iColwidth nachher abziehen möchtest, solltest du das hier auch draufrechnen und nicht subtrahieren

    iLeftWidth:= theGrid.Width-iColWidth;


    theGrid.ColWidths[theColumn]:= iLeftWidth;
  except
  end;
end;

MfG
Ansgar
Ansgar
  Mit Zitat antworten Zitat