よろしくお願いします。
Delphi2007で、DBGridにてマウスホイールによるスクロールをさせたときに、
全体はスクロールさせてフォーカスは動かないようにする
(Excelと同じような挙動)にはどうすればよいのでしょうか?
現状、行スクロールしてしまいます。
MLには、似たような質問があるようです。(現時点では返信はないみたいですが。)
TDBGridでスクロール時にカレントレコードを移動させない方法
http://www.freeml.com/delphi-users/1450/latest
ここで移動させてるんじゃないか?
function TCustomDBGrid.DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean;
begin
Result := False;
if Assigned(OnMouseWheelDown) then
OnMouseWheelDown(Self, Shift, MousePos, Result);
if (not Result) and (FDataLink.Active) then
begin
FDataLink.MoveBy(1);
Result := True;
end;
end;
function TCustomDBGrid.DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean;
begin
Result := False;
if Assigned(OnMouseWheelUp) then
OnMouseWheelUp(Self, Shift, MousePos, Result);
if (not Result) and (FDataLink.Active) then
begin
FDataLink.MoveBy(-1);
Result := True;
end;
end;
Result を設定すれば移動しなそうだが
ツイート | ![]() |