Главная страница
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.025 c
2-1123678374
Relaxxx
2005-08-10 16:52
2005.09.18
Как суммировать время?


5-1099405102
AZ
2004-11-02 17:18
2005.09.18
Создание ComboBox а для компонента


14-1125058488
red_imp
2005-08-26 16:14
2005.09.18
Географическре положение


9-1116598261
Кефир87
2005-05-20 18:11
2005.09.18
Поворот объекта. Очень просто. Опять туплю...


14-1124179338
Александр Иванов
2005-08-16 12:02
2005.09.18
Теорема Ферма доказана?