Поиск в цикле
for (int u = 0; u<TreeView1->Items->Count; u++ ){
if ( TreeView1->Items->Item->Text.SubString(1, Edit3->Text.Length()).UpperCase() == Edit3->Text.UpperCase()){
TreeView1->Select(TreeView1->Items->Item);
break;
}}
это сам поиск, как его изменить что-бы при нахождении слова(или букв), при нажатии на кнопку далее(например) поиск продолжался(я так понимаю нужно запоминать индекс найденного совпадения, но какс ним работать далле не пойму)...
Помогите кодом или советом....
За ранее благодарен.......
P.S. Мне кажется в дереве имеет смысл искать на
"текущем" уровне иерархии, а не среди всех узлов. Впрочем, может и нет...
Ну, например, оформите ваш поиск в виде функции, которая в качестве параметра принимает индекс MyInd; И замените for (int u = 0... на for (int u = MyInd... Или я что-то не догоняю...
P.S. Мне кажется в дереве имеет смысл искать на
"текущем" уровне иерархии, а не среди всех узлов. Впрочем, может и нет...
ничего не надо запоминать.
Если найдено и надо остановиться до действия оператора, надо просто в этом месте показать форму методом ShowModal(). И проанализировать, что будет нажато. Например в свойстве ModalResult кнопки "Далее" установить mrYes, а в кнопке "Отмена" - mrNo.
и получим
if ( TreeView1->Items->Item->Text.SubString(1, Edit3->Text.Length()).UpperCase() == Edit3->Text.UpperCase())
{
TreeView1->Select(TreeView1->Items->Item);
this->Visible=0;
if (this->ShowModal()!=mrYes)
{
break;
}
}
что-то вроде этого.
Только лучше (удобнее) конечно в качестве модального окна использовать отдельное окно с 2-мя кнопками
if (::MessageBox(0,"Продолжить???????","Что дальше",MB_YESNO)!=mrYes)