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

Вниз

TTreeView->MultiSelect - помогите написать обработчик.   Найти похожие ветки 

 
DBDEV   (2004-05-31 13:15) [0]

То есть нужно в цикле "пройтись" по всем точкам дерева, которые selected:

Код:
if (!TV->Selected) return;

TTreeNode *sitem;

TItemStates selected = TItemStates() << isSelected;
sitem = TV->Selected;

while (sitem){
  ...
  sitem = sitem->GetNext();
}

Но он почему-то возвращает не только selected. В чем ошибка никак не разберу...


 
lyeh ©   (2004-06-02 00:50) [1]

Это форум по Delphi, а не С :)
Насчет цикла, ты же там все подряд собираешь! Попробуй так:

if (!TV->Selected) return;

TTreeNode *sitem;
TTreeNode *tmpitem;

TItemStates selected = TItemStates() << isSelected;
sitem = TV->Selected;

while (sitem){
 ...
 tmpitem = sitem->GetNext();
 if (tmpitem->selected) {
 sitem = tmpitem
 } else {
 sitem = NULL
 }
}


 
lyeh ©   (2004-06-02 03:55) [2]

Забыл вот что: вместо if (tmpitem->selected) надо if ((tmpitem) && (tmpitem->selected))


 
Ozone ©   (2004-06-02 05:40) [3]

А кто мешает сделать так:


    for i:=0 to Tree.Items.Count-1 do
      if Tree.Items[i].Selected then ShowMessage(Tree.Items[i].Text);


 
lyeh ©   (2004-06-03 00:22) [4]

Это вопрос по C, а не Delphi :)



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
3-1084861570
Tananda
2004-05-18 10:26
2004.06.13
Нужно выводить ограниченный список в DBLookupCombobox


1-1086174121
Aleksandr.
2004-06-02 15:02
2004.06.13
Как задать перечисляемому типу нижнюю границу?


1-1085823911
Глеб
2004-05-29 13:45
2004.06.13
Завершение чужой программы после её запуска


1-1085921536
ilnarab
2004-05-30 16:52
2004.06.13
Функция для выбора файла


1-1085750136
Миссяй
2004-05-28 17:15
2004.06.13
Преобразование инкремента в spinedit