Пропорциональное отображение в TScrollBar или TStringGrid



Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

// Getting a TScrollbar control to Show a proportional thumb: 
procedure TForm1.Button1Click(Sender: TObject);
var
info: TScrollInfo;
begin
FillChar(info, SizeOf(info), 0);
with info do
begin
cbsize := SizeOf(info);
fmask  := SIF_PAGE;
nPage  := ScrollBar1.LargeChange;
end;
SetScrollInfo(ScrollBar1.Handle, SB_CTL, info, True);
end;
// Same for a TStringGrid 
procedure TForm1.Button1Click(Sender: TObject);
var
info: TScrollInfo;
begin
FillChar(info, SizeOf(info), 0);
with info do
begin
cbsize := SizeOf(info);
fmask  := SIF_ALL;
GetScrollInfo(StringGrid1.Handle, SB_VERT, info);
fmask := fmask or SIF_PAGE;
nPage := 5 * (nmax - nmin) div StringGrid1.RowCount;
// whatever number of cells you consider a "page" 
end;
SetScrollInfo(StringGrid1.Handle, SB_VERT, info, True);
end;

Далее: Реализация события OnColumnClick из TListView для TStringGrid »»