1


アプリケーションで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;

私のグリッドで有効になっているプロパティの完全なリストがあります:
オプション

  1. dg編集
  2. dgタイトル
  3. dgIndicator
  4. dgColumnResize
  5. dgColLines
  6. dgRowLines
  7. dgタブ
  8. dgAlwaysShowSelection
  9. dgMultiSelect

オプションええ

  1. dghFixed3D
  2. dghResizeWholeRightPart
  3. dghHighlightFocus
  4. dghClearSelection
  5. dghMultiSortMarking
  6. dghEnterAsTab
  7. dghRowHighlight
4

1 に答える 1

2

DBGridEh の機能です。複数選択された領域がある場合、選択された領域と現在の行のセルの強調表示との間の誤解を避けるために、行の強調表示を停止します。

ドミトリーB

于 2012-03-24T09:23:35.427 に答える