KGrid это DBGrid ???
Ищу замену RxDBGrid от alexs. Нужен DBGrid с многострочными заголовками и подвалом, т.е. фиксированной нижней строкой.
Модератор: Модераторы
Nik писал(а):KGrid - это сторонний компонент, в LCL не входит, живёт здесь.
dunin писал(а):У kgrid него многострочные заголовки вообще есть?
Modifying grid's width may be OK for an application but is not something the grid should do, what if the grid is resized automatically? like when it's anchored or aligned.
Как умею ^_^ переводить писал(а):Возможно подгонять ширину таблицы, но это не всегда возможно, что если таблица изменяет размер автоматом? Когда она привязана или выровнена.
...
Uses
..., LCLIntf;
...
function GetScrollBarSize(Handle: HWND; SBStyle: Integer): integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function GetScrollbarVisible(Handle: HWND; SBStyle: Integer): boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
ScrollBarWidth:=GetScrollBarSize(Handle, 2);
StringGrid1.Width:=StringGrid1.Columns[0].Width+
StringGrid1.Columns[1].Width+
StringGrid1.Columns[2].Width+
StringGrid1.Columns[3].Width+
StringGrid1.Columns[4].Width+StringGrid1.ColCount+
ScrollBarWidth;
Procedure ResizeCols(Const aGrid: TStringGrid;
Const aMainCol: Integer; Const aMinWidth: Integer = 0);
Var
i, aOtherCols: Integer;
Begin
aOtherCols := 5;
For i := 0 To aGrid.ColCount - 1 Do
If Not(i = aMainCol) Then
Inc(aOtherCols, aGrid.ColWidths[i] + 1);
If GetScrollbarVisible(aGrid.Handle, 1) Then
Inc(aOtherCols, GetScrollBarSize(aGrid.Handle, 1));
aGrid.ColWidths[aMainCol] := Max(aMinWidth, aGrid.Width - aOtherCols);
End;
GAMER писал(а):GetScrollBarSize - вариант хороший для меня. Но не для тех, кто использует авторасчет ширины грида в зависимости от других параметров.
function GetScrollBarSize(Handle: HWND; SBStyle: Integer): integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 44