【发布时间】:2012-04-26 11:37:00
【问题描述】:
当用户按下 Ctrl+End 时,VirtualStringTree 会垂直跳转到末尾,这很好,但也可以水平跳转。我不希望它水平地走到尽头。水平滚动应保持原样。
如何判断?
【问题讨论】:
标签: delphi scroll virtualtreeview tvirtualstringtree
当用户按下 Ctrl+End 时,VirtualStringTree 会垂直跳转到末尾,这很好,但也可以水平跳转。我不希望它水平地走到尽头。水平滚动应保持原样。
如何判断?
【问题讨论】:
标签: delphi scroll virtualtreeview tvirtualstringtree
以下代码中的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;
【讨论】: