Delphi XE8 FMX で開発された iOS/Android 用のアプリケーションがあります。
アプリには、ツリー アイテムを含むツリービューがあります。同じ親ノードが展開されているときにツリー項目をノードに追加すると、a) アプリ自体から親ノードを折りたたんで展開するか、b) プログラムでそれを実行して (以下を参照)、ツリー項目を取得する必要があります。すぐに表示します。「repaint」を呼び出してみましたが、うまくいきませんでした。より良い回避策はありますか?以下のようにcollapseall、expandallを呼び出すと、最初に一番上のツリーノードを選択するまで、一部のツリーノードが応答しなくなる(選択不可になる)ことがあります。
procedure TnewForm.AddTreeItemClick(Sender: TObject);
var
t:TTreeViewItem;
begin
t:=TTreeViewItem.Create(nil);
t.Text:=NewTreeItemEdit.Text;
if TreeView.Selected<>nil then
begin
t.Parent:=TreeView.Selected
end else
t.Parent:=TreeView;
//Treeview.Repaint;
treeview.CollapseAll;
treeview.ExpandAll;
NewTreeItemEdit.Text:='';
end;
ツリービューを折りたたんだり展開したりせずに、動的に追加されたツリー項目をすぐに表示するにはどうすればよいですか?