我在我的应用程序中
使用EhLib DBGridEh ,当我开始使用 Scrollbar 滚动它时,我遇到了高亮问题。
如果我不选择网格中的单元格,那么突出显示将正常工作。
但是,如果我选择单元格并开始使用ScrollBar 滚动,则只会突出显示一个单元格而不是整个原始单元格,并且之前的原始单元格也会被突出显示。
这些你可以在图片上看到。
就在几周前,当我使用鼠标滚轮滚动网格时,我遇到了同样的情况。我通过添加对应用程序消息的处理解决了这个问题。
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 标题
- dg指标
- dgColumnResize
- dgColLines
- dgRowLines
- dgTabs
- dgAlwaysShowSelection
- dgMultiSelect
选项Eh
- dghFixed3D
- dghResizeWholeRightPart
- dghHighlightFocus
- dghClearSelection
- dghMultiSortMarking
- dghEnterAsTab
- dghRowHighlight