Я знаю, что это основной вопрос c ++, но могу ли я знать, как я могу вызвать функцию / передать значение (elementId) из одного класса в другой в bada, используя функцию друга?
В моем классе формы у меня есть listView, и когда щелкает элемент в listView, я хотел бы передать elementId в подробный отчет, чтобы отобразить информацию в метке (в подробном виде). В мои form.h и .cpp я включил detailsForm.h, могу ли я узнать, как получить доступ к функции в detailForm для отображения информации? В form.h я также объявил
friend class detailedForm;
и когда я попытался использовать одну из функций в detailForm в своем классе формы, а именно displayInfo (); класс формы имеет ошибку, говоря, что displayInfo () не был объявлен
form.h
...
public:
friend class ChartFormDetail;
Вот мой код для form.cpp
#include "Form.h"
#include "ChartFormDetail.h"
...
void
Form::OnGroupedListViewItemStateChanged(Osp::Ui::Controls::GroupedListView &listView, int groupIndex, int itemIndex, int elementId, Osp::Ui::Controls::ListItemStatus state)
{
Frame* pFrame = Osp::App::Application::GetInstance()->GetAppFrame()->GetFrame();
FormMgr* pFormMgr = dynamic_cast<FormMgr*> (pFrame->GetControl("FormMgr"));
if(pFormMgr == null)
return;
pFormMgr->SendUserEvent(FormMgr::REQUEST_DETAILFORM, null);
//pFormMgr->SendUserEvent(elementId, null);
switch(elementId)
{
case ID_FORMAT_STRING_M12:
DisplayLabel();
break;
...
case ID_FORMAT_STRING_F19:
DisplayLabel();
break;
}
}
detailedForm.h
public:
...
void DisplayLabel(void);
код для detailsForm.cpp
void
ChartFormDetail::DisplayInfo(void)
{
pLabel->SetText("Text here");
RequestRedraw();
}