반응형
녕하세요.
StringGrid 내용을 자동으로 스크롤 시키는 팁이 있어서 소개해 드립니다.
StringGrid의 데이터 영역에서 마우스를 클릭한 상태로 상하좌우로 이동하면
데이터 영역이 자동으로 스크롤 됩니다.
루틴은 아래와 같이 간단 합니다.
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
px,py: Integer;
begin
if not flag then Exit;
//if not(ssCtrl in Shift) then Exit;
px := GetScrollPos(StringGrid1.Handle, SB_HORZ);
py := GetScrollPos(StringGrid1.Handle, SB_VERT);
px := px - (X - x1);
py := py - (Y - y1);
StringGrid1.Perform(WM_HSCROLL, px shl 16 or SB_THUMBPOSITION, 0);
StringGrid1.Perform(WM_VSCROLL, py shl 16 or SB_THUMBPOSITION, 0);
x1 := X;
y1 := Y;
end;
여러가지로 응용이 가능 할 것 같은데요...
반응형