Я знаю, что это базовый вопрос на С++, но могу ли я узнать, как я могу вызвать значение функции/передачи (elementId) из одного класса в другой в bada, используя функцию друга?
В моем классе формы у меня есть listView, и когда элемент в listView был щелкнут, я хотел бы передать elementId в detailForm для отображения информации в метке (в detailForm). В мои form.h и .cpp я включил detailForm.h, могу ли я узнать, как мне получить доступ к функции в detailForm для отображения информации? В form.h я также объявил
friend class detailedForm;
и когда я попытался использовать одну из функций в detailForm в своем классе формы, а именно displayInfo(); в классе формы есть ошибка, говорящая, что displayInfo() не был объявлен.
форма.ч
...
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;
}
}
подробная форма.h
public:
...
void DisplayLabel(void);
код для detailForm.cpp
void
ChartFormDetail::DisplayInfo(void)
{
pLabel->SetText("Text here");
RequestRedraw();
}
displayInfo
, но в опубликованном вами коде нет вызоваdisplayInfo
. - person Björn Pollex   schedule 14.12.2011