3
當用戶按下Ctrl + End時,VirtualStringTree會垂直跳轉到結尾,這很好,但也是水平的。我不希望它水平地結束。水平滾動應該保持原樣。Ctrl +結束行爲TVirtualStringTree
如何判斷?
謝謝。
當用戶按下Ctrl + End時,VirtualStringTree會垂直跳轉到結尾,這很好,但也是水平的。我不希望它水平地結束。水平滾動應該保持原樣。Ctrl +結束行爲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;
您是否還想選擇節點?默認行爲(我有VirtualTreeView v.5.0.0,但我認爲它與舊版本相同)僅滾動到內容的視圖中,它不會選擇第一個或最後一個節點以及此處發佈的代碼。而且,如果你有一些,你想滾動到第一列嗎? – TLama 2012-04-14 09:12:44
好吧,似乎你不想;-) – TLama 2012-04-14 09:26:50
我通過使用重載的ScrollIntoView函數做了兩個。我明白了。謝謝 :) – 2012-04-14 18:07:37