goo blog サービス終了のお知らせ 

LoveBeerのDelphi Blog

開発日誌

VirtualTreeView 編集可/不可を制御する

2008-01-31 13:38:58 | コンポーネント
タグ: VirtualTree VirtualTreeView

編集可/不可を制御する
Tree.Editing イベントで処理する。

例) 2カラム, 3カラムのみ入力可能にする
procedure TForm1.vtreeEditing(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; var Allowed: Boolean);
begin
  if Column in [2, 3] then
    Allowed := true
  else
    Allowed := false;
end;

ここまでの処理では、カーソルの移動までは制御しない。
もし、カーソルも移動しないようにするには
Tree.FocusChanging イベントも合わせて処理する。

例) 2カラム, 3カラムのみカーソル移動可能にする
procedure TForm1.vtreeFocusChanging(Sender: TBaseVirtualTree; OldNode, NewNode: PVirtualNode; OldColumn, NewColumn: TColumnIndex; var Allowed: Boolean);
begin
  if NewColumn in [2, 3] then
    Allowed := true
  else
    Allowed := false;
end;