Главная страница
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.036 c
3-1085377266
leonidus
2004-05-24 09:41
2004.06.13
Как быть если у человека не установлен BDE а СУБД должна работать


1-1085993631
Андрей
2004-05-31 12:53
2004.06.13
Переброс информации между программами


1-1086163121
DN
2004-06-02 11:58
2004.06.13
Сравнение дат


14-1085311405
VMcL
2004-05-23 15:23
2004.06.13
Голосование "Образование программиста?"


1-1086163538
Timon
2004-06-02 12:05
2004.06.13
извините но опять EXCEL (так его)