Delphi7にてマウスホイールの制御を行いたいと思っています。
過去ログを参考にして以下のロジックをいれました。
どこの行にもクリックしていない状態だと正常にマウスホイールが動作します。
ですが、どこかの行をクリックしたとたんに、制御がおかしくなります。
(インジケーターはクリックした行のまま。表示行しか動作不能)
改善策を検討中です。
procedure TfrmMain.FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
if WheelDelta < 0 then begin // down
CDSGrid.Next;
end else begin // up
CDSGrid.Prior;
end;
Handled := true;
end;
FormMouseWheel は、フォームのイベントであり
アクティブコントロールに共通するイベントじゃないからでしょ?
>(インジケーターはクリックした行のまま。表示行しか動作不能)
これは、DBGridのことですか?
DBGridであるなら、そのDBDridの OnMouseWheelDown イベント、OnMouseWheelUp イベント
に記述してみるのは、どうですか?
ツイート | ![]() |