Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
6-1117204422
Lex_!
2005-05-27 18:33
2005.09.18
MSXML2.XMLHTTP и получение файлов с интернета


3-1123225440
Elvis
2005-08-05 11:04
2005.09.18
CheckBox в DBGrid


14-1124270492
vtsoy
2005-08-17 13:21
2005.09.18
Что такое API?


14-1124652244
fedotawa
2005-08-21 23:24
2005.09.18
Чем вам нравится творчество Лукьяненко?


14-1124569059
ronyn
2005-08-21 00:17
2005.09.18
Кто знает где русская справка по DS Pack и сопутствующему есть




   Наверх