アプリケーションでEhLib DBGridEh
を使用していますが、Scrollbar を使用してスクロールを開始すると、強調表示に問題が発生します。
グリッド内のセルを選択しないと、強調表示が正しく機能します。
しかし、セルを選択してScrollBarを使用してスクロールを開始すると、生全体ではなく 1 つのセルのみが強調表示され、前の生も強調表示されます。
これらは写真で見ることができます。
ほんの数週間前、マウスホイールを使用してグリッドをスクロールしたときに同じ状況が発生しました。この問題は、アプリケーション メッセージの処理を追加することで解決しました。
procedure TMainForm.AppEventHandlerMessage(var Msg: tagMSG;
var Handled: Boolean);
var
i: SmallInt;
begin
if Msg.message = WM_MOUSEWHEEL then
begin
Msg.message := WM_KEYDOWN;
Msg.lParam := 0;
i := HiWord(Msg.wParam) ;
if i > 0 then
Msg.wParam := VK_UP
else
Msg.wParam := VK_DOWN;
Handled := False;
end;
end;
私のグリッドで有効になっているプロパティの完全なリストがあります:
オプション
- dg編集
- dgタイトル
- dgIndicator
- dgColumnResize
- dgColLines
- dgRowLines
- dgタブ
- dgAlwaysShowSelection
- dgMultiSelect
オプションええ
- dghFixed3D
- dghResizeWholeRightPart
- dghHighlightFocus
- dghClearSelection
- dghMultiSortMarking
- dghEnterAsTab
- dghRowHighlight