Я пытаюсь использовать метод SetItemIndex для программного выбора элемента списка. Это виртуальный метод, поэтому я понимаю, что мне нужно его переопределить, но я не уверен, как это будет выглядеть или где я буду помещать код.
В качестве альтернативы, есть другой метод, который я должен использовать, чтобы показать что элемент в списке выбран?
-
Как выглядит мое приложение сейчас:
Как я хочу, чтобы оно выглядело (без пользователя щелчок):
Я создаю приложение, использующее C ++ FireMonkey (FMX, используя C ++ Builder), чтобы получать пользовательский ввод со многих экранов. Список должен показать пользователю, где он находится в процессе ввода, и предоставить возможность вернуться назад на несколько экранов.
Если они используют следующую кнопку для перехода к следующему экрану, я хочу, чтобы список автоматически показать соответствующий экран как выбранный.
-
Вот соответствующие выдержки из моего кода:
class TFormMain : public TForm
{
__published: // IDE-managed Components
TListBox *leftSideBar_listbox;
}
__fastcall TFormMain::TFormMain(TComponent* Owner)
: TForm(Owner)
{
leftSideBar_listbox->SetItemIndex(0);
initializeApp();
}
И ошибка, которую я получаю:
[bcc32c Error] TFormMain.cpp(29): 'SetItemIndex' is a protected member of 'Fmx::Listbox::TCustomListBox'
FMX.ListBox.hpp(493): declared protected here
В строке FMX.ListBox.hpp 493:
protected:
...
virtual void __fastcall SetItemIndex(const int Value);
соответствующая документация: http://docwiki.embarcadero.com/Libraries/Rio/en/FMX.ListBox.TCustomListBox.ItemIndex
(этот пост о C# вместо C ++)
Программный выбор элемента в ListBox