当用户按下 Ctrl+End 时,VirtualStringTree 会垂直跳到结尾,这很好,但也可以水平跳。我不希望它水平地走到尽头。水平滚动应保持原样。
这个怎么讲?
当用户按下 Ctrl+End 时,VirtualStringTree 会垂直跳到结尾,这很好,但也可以水平跳。我不希望它水平地走到尽头。水平滚动应保持原样。
这个怎么讲?
OnKeyAction
以下代码中的处理程序检查或CTRL + HOME是否CTRL + END被按下,如果是,它会(仅垂直)滚动到顶部或底部,具体取决于按下的内容。
procedure TForm1.VirtualTreeKeyAction(Sender: TBaseVirtualTree;
var CharCode: Word; var Shift: TShiftState; var DoDefault: Boolean);
begin
if (ssCtrl in Shift) then
case CharCode of
VK_HOME:
begin
DoDefault := False;
VirtualTree.ScrollIntoView(VirtualTree.GetFirst, False);
end;
VK_END:
begin
DoDefault := False;
VirtualTree.ScrollIntoView(VirtualTree.GetLast, False);
end;
end;
end;