Главная страница
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.048 c
1-1086214858
Win64
2004-06-03 02:20
2004.06.13
Как скомпилить проэкт без запуска Дельфей?


14-1085815415
Mad Dancer
2004-05-29 11:23
2004.06.13
Колосоккер


1-1086073396
DmitryNekl
2004-06-01 11:03
2004.06.13
Как вывести название типа?


1-1085991974
Ertong
2004-05-31 12:26
2004.06.13
Popup in Popup


4-1084017989
Learner
2004-05-08 16:06
2004.06.13
Сообщение от Screen Saver