ユーザーが 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;