DBGridでホイールスクロールさせたくない


かばとっと  2010-10-28 06:13:19  No: 39442

よろしくお願いします。

Delphi2007で、DBGridにてマウスホイールによるスクロールをさせたときに、
全体はスクロールさせてフォーカスは動かないようにする
(Excelと同じような挙動)にはどうすればよいのでしょうか?
現状、行スクロールしてしまいます。


igy  2010-10-28 06:27:12  No: 39443

MLには、似たような質問があるようです。(現時点では返信はないみたいですが。)

TDBGridでスクロール時にカレントレコードを移動させない方法
http://www.freeml.com/delphi-users/1450/latest


KHE00221  2010-10-28 09:07:50  No: 39444

ここで移動させてるんじゃないか?

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 を設定すれば移動しなそうだが


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加