Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.18;
Скачать: CL | DM;

Вниз

Delphi опять глючит   Найти похожие ветки 

 
Андрей Молчанов   (2005-08-11 22:29) [0]

Здравствуйте!

Мне надо удалить все выделенные элементы первого уровня из TTreeView. Multiselect установлен в True. Использую следующий код:

var
 Node, PrevNode: TTreeNode;
begin
 Node := CheckTree.Items.GetFirstNode;
 CheckTree.Items.BeginUpdate;
 try
   while Node <> nil do begin
     if Node.Selected then begin
       PrevNode := Node.getNextSibling;
       Node.Delete;
       Node := PrevNode;
     end else
       Node := Node.getNextSibling;
   end;
 finally
   CheckTree.Items.EndUpdate;
 end;


Но если выбран первый элемент дерева, то удаляютя ВСЕ элементы дерева. В чем здесь ошибка? Пожалуйста, помогите!


 
KilkennyCat ©   (2005-08-11 22:44) [1]

а если второй, то остается только первый?


 
GuAV ©   (2005-08-11 23:47) [2]

 for I := TreeView1.SelectionCount - 1 downto 0 do
   if TreeView1.Selections[I].Level = 1 then
     TreeView1.Selections[I].Delete;

?


 
Андрей Молчанов   (2005-08-12 12:07) [3]

Спасибо!

Написал вот такую функцию:
procedure TfrmProperties.btnRemoveClick(Sender: TObject);
var
 i: integer;
begin
 CheckTree.Items.BeginUpdate;
 try
   for i := CheckTree.SelectionCount - 1 downto 0 do
     if CheckTree.Selections[i].Level = 0 then
       CheckTree.Selections[i].Delete;
 finally
   CheckTree.Items.EndUpdate;
 end;
end;

Но, если до вызова в дереве была горизонтальная прокрутка, а после вызова в результате удаления длинного элемента, полоса исчезла, то нижняя граница дерева не перерисовывается. Без BeginUpdate и EndUpdate все прекрасно работает. Есть ли выходы, кроме как убрать BeginUpdate и EndUpdate?



Страницы: 1 вся ветка

Текущий архив: 2005.09.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
9-1116928427
Stupid
2005-05-24 13:53
2005.09.18
Кто нибудь делал mmorpg?


2-1123675740
Arkady
2005-08-10 16:09
2005.09.18
DBGrid


3-1123485949
Zaero
2005-08-08 11:25
2005.09.18
При изменении информации, размер *.mb файла не уменьшается!


14-1124459157
Ego
2005-08-19 17:45
2005.09.18
Получил от знакомого письмо.


14-1124892065
cyborg
2005-08-24 18:01
2005.09.18
Почему сетевой доступ с XP Pro на XP Home долго открывается?