Главная страница
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.046 c
1-1085773815
DIS
2004-05-28 23:50
2004.06.13
ориентацию бумаги перед печатью


6-1082227954
IXT
2004-04-17 22:52
2004.06.13
Наличие входящего подключения.


3-1085315891
Heet
2004-05-23 16:38
2004.06.13
Установка BDE


14-1085370471
SammIk
2004-05-24 07:47
2004.06.13
Гребанные вирусы


1-1085725841
Susanoo
2004-05-28 10:30
2004.06.13
Элементы MainMenu