フォームに TDBGrid と TDBMemo の 2 つのコントロールがあり、どちらも同じ DataSource にリンクされています。
ユーザーが DBGrid をスクロールすると、フォーカスのある行にメモの文字の内容が表示されます。すべて良い。実際にはユーザーの失敗の問題である煩わしさについて苦情を受けていますが、それを回避するようにプログラムしたいと思います。
ユーザーはグリッドをクリックし、マウスをメモまで下に移動しますが、クリックはしません。次に、マウス ホイールを回転させてメモを下にスクロールします。その代わりに、グリッドにはまだフォーカスがあるため、文字のリストを下にスクロールします。ユーザーが最初にメモをクリックすると、メモがフォーカスされ、ホイールが期待どおりに機能します。
追加してみました
if memoLetter.Enabled then memoLetter.SetFocus;
グリッドの OnCellClick では、グリッドが更新され、点滅がひどいように見えます。
では、マウス ホイール イベントをキャプチャして、マウス カーソルがメモの上にあるかどうかを確認するにはどうすればよいでしょうか。その場合は、メモにフォーカスを与え、通常のホイール スクロールがメモに引き継がれます。
オンラインで MouseOver のものをいくつか見つけましたが、どちらもうまく機能しませんでした。
ありがとう