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

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



Память: 0.45 MB
Время: 0.02 c
1-1085933762
ilnarab
2004-05-30 20:16
2004.06.13
после запуска диалог появился в центре формы?


14-1084473025
ИМХО
2004-05-13 22:30
2004.06.13
Установка Office.XP


4-1084145336
Александр Павлов
2004-05-10 03:28
2004.06.13
Опрос PCI шины.


14-1085831693
Yuri Btr
2004-05-29 15:54
2004.06.13
2 и более SB Live! в одном компьютере


14-1085741727
YurikGl
2004-05-28 14:55
2004.06.13
Лингвистический вопрос




   Наверх