Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > скролирование к элементу TTreeView


Автор: gja822 30.7.2003, 17:20
как проскролировать TTreeView к какому-либо элементу? MakeVisible не помогает...

Автор: p0s0l 30.7.2003, 22:53
Странно, но у меня помогает... Может быть ты где-то не то чо-нить написал, или не у того нода делаешь makevisible?

В хелпе написано:
Цитата
MakeVisible makes the node visible to the user, expanding parent nodes and scrolling as necessary.


Автор: p0s0l 30.7.2003, 23:05
Вспомнил - можно делать так:
treeview1.TopItem := node; // node - твой нод, который хочешь увидеть.

Кстати, так дерево раскроется до самого нода, даже если он был скрыт.

Автор: stab 31.7.2003, 15:33
MakeVisible не работает внутри BeginUpdate...EndUpdate

Автор: ziga 31.7.2003, 18:08
TreeView_SelectSetFirstVisible(TreeViewObjects.Handle, Node.ItemId);

Автор: p0s0l 2.8.2003, 11:31
Цитата
MakeVisible не работает внутри BeginUpdate...EndUpdate


А зачем делать MakeVisible в BeginUpdate...EndUpdate ?

Автор: stab 3.8.2003, 18:38
p0s0l что б видно стало smile.gif

Автор: p0s0l 3.8.2003, 21:43
Cully - очень смешно!:
Цитата
p0s0l что б видно стало 

Я спросил вообще-то, зачем делать MakeVisible внутри BeginUpdate, а не вообще для чего нужен MakeVisible...
Я не вижу причину делать MakeVisible в блоке BeginUpdate...EndUpdate. Cully, скажи, почему
нельзя обновить ноды, а потом уже сделать MakeVisible ?
В крайнем случае можно сделать так:
...
EndUpdate
MakeVisible
BeginUpdate
...

Автор: stab 4.8.2003, 20:04
p0s0l млин, да все можно, только лучше б было если бы MakeVisible внутри BeginUpdate...EndUpdate работал. Мне так кажется, что Borland просто схалявил smile.gif

Автор: p0s0l 4.8.2003, 20:12
Код
procedure TTreeNode.MakeVisible;
begin
 if (Handle <> 0) and (ItemId <> nil) then
   TreeView_EnsureVisible(Handle, ItemId);
end;


По-моему никто не халявил... Просто до EndUpdate нельзя узнать экранные координаты итема.

Но хватит, чо-то спор уже в пустую идет...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)