Всем привет и с наступившим =)) Нашел я тут в Delphi World пример для пропорционального отображения скролл бара в StringGrid и перевел кое как На Си.... Вроде как бы и работает но когда ползунок прокручиваешь до конца в низ... то строки 2-3 не доводится...гляньте...может кто встречался с такой траблой
| Код | // 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;
|
Код Си
| Код | TScrollInfo info; memset(&info,0,sizeof(info)); info.cbSize=sizeof(info); info.fMask=SIF_ALL; if(GetScrollInfo(StringGrid1->Handle,SB_VERT,&info)) { ShowMessage(info.nMax); }else return; info.fMask|=SIF_PAGE; // ShowMessage(info.nMax); //ShowMessage(StringGrid1->RowCount);
info.nPage=5*(info.nMax-info.nMin)/StringGrid1->RowCount; //ShowMessage(info.nPage); SetScrollInfo(StringGrid1->Handle,SB_VERT,&info,true);
|
Спасибо за внимание. |