Текущий архив: 2011.12.18;
Скачать: CL | DM;
Вниз
На форме исчезает TreeView Найти похожие ветки
← →
Pushok (2011-09-07 12:11) [0]На главной форме лежит TTreeView. посл выполнения следуюшего кода TreeView с главной формы почемуто исчезает:
var
F: TForm;
tv:TTreeView;
bt1, bt2: TButton;
P: TPAnel;
begin
F:= TForm.Create(Form1);
...
tv:= TTreeView.Create(F);
tv:= TreeView1; ///
tv.Align:= alClient;
tv.Parent:= F;
F.Width:= 500;
F.Height:= 400;
F.ShowModal;
end;
Почему исчезает TreeView?
← →
stas © (2011-09-07 12:21) [1]Во-первых код противоречащий.
F:= TForm.Create(Form1);
...
tv:= TTreeView.Create(F);
tv:= TreeView1;
Какой смысл строчки выделенной жирным?
← →
Медвежонок Пятачок © (2011-09-07 12:21) [2]tv:= TTreeView.Create(F);
tv:= TreeView1; ///
чозахрень здесь написана.
← →
stas © (2011-09-07 12:22) [3]Покажите полный код.
← →
stas © (2011-09-07 12:27) [4]У меня не исчезает. Даже с Вашим кодом.
← →
Ega23 © (2011-09-07 12:45) [5]
> У меня не исчезает. Даже с Вашим кодом.
Должен исчезнуть.
Ибо:tv:= TreeView1
; ///
tv.Align:= alClient;tv.Parent:= F
;
← →
Pushok (2011-09-07 12:55) [6]
> tv:= TTreeView.Create(F);
> tv:= TreeView1;
Да действительно это не имеет смысла
Ну а как это влияет на TreeView1 из главнй формы?
← →
Ega23 © (2011-09-07 12:57) [7]
> Ну а как это влияет на TreeView1 из главнй формы?tv := TreeView1;
tv.Parent := F;
Это всё равно, чтоTreeView1.Parent := F;
← →
Pushok (2011-09-07 13:00) [8]
> tv:= TreeView1;
Этиим хотелось перенести все дерево.
есть идея бегать в цикле по TreeView1 и создавать спомошью tv.Items.Add()
← →
Медвежонок Пятачок © (2011-09-07 13:05) [9]хотелось перенести - так ты и перенес.
в чем проблема-то?
← →
Pushok (2011-09-07 13:27) [10]Все оказалась проще
tv:= TTreeView.Create(F);
tv.Align:= alClient;
tv.Parent:= F;
tv.Items:= TreeView1.Items;
← →
stas © (2011-09-07 13:58) [11]Ega23 © (07.09.11 12:57) [7]
А он имел ввиду с той на которой изначально расположено - с той исчезло.
Pushok (07.09.11 13:27) [10]
Только имей ввиду что это указатель, а не новая копия.
← →
DiamondShark © (2011-09-07 17:32) [12]
> stas © (07.09.11 13:58) [11]
> Только имей ввиду что это указатель, а не новая копия.
Тора учит нас другойму:
procedure TCustomTreeView.SetTreeNodes(Value: TTreeNodes);
begin
Items.Assign(Value);
end;
procedure TTreeNodes.Assign(Source: TPersistent);
var
TreeNodes: TTreeNodes;
MemStream: TMemoryStream;
begin
ClearCache;
if Source is TTreeNodes then
begin
TreeNodes := TTreeNodes(Source);
Clear;
MemStream := TMemoryStream.Create;
try
TreeNodes.WriteData(MemStream);
MemStream.Position := 0;
ReadData(MemStream);
finally
MemStream.Free;
end;
end
else inherited Assign(Source);
end;
Страницы: 1 вся ветка
Текущий архив: 2011.12.18;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.01 c