これは基本的なC++の質問ですが、関数/パス値(elementId)を1つのクラスから友人の機能を使用して、田舎の別の?C++フレンド関数を使用してbadaのあるクラスから別のクラスに関数/パス値を呼び出す方法
私のフォームクラスでは、私はlistViewを持っていて、listViewのアイテムがクリックされたとき、elementIdをdetailedFormに渡して、ラベルの情報を(detailedForm内に)表示したいと思います。私のform.hと.cppにはdetailedForm.hが含まれていますが、情報を表示するにはdetailedFormの関数にどのようにアクセスすればいいのでしょうか? form.hでは、私はまた、
friend class detailedForm;
を宣言している私は私のフォームクラス、すなわちdisplayInfo()にdetailedForm内の関数のいずれかを使用しようとしたとき、フォームクラスにdisplayInfo()が宣言されていないというエラーがあります。
ここ
...
public:
friend class ChartFormDetail;
form.hはdetailedForm.cpp
void
ChartFormDetail::DisplayInfo(void)
{
pLabel->SetText("Text here");
RequestRedraw();
}
ため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);
コードのための私のコードです
関連コードを投稿してください。問題に関連していないものは残しておいてください。 –
こんにちは、上記のコードを投稿しました。ありがとう! – Winona
あなたは 'displayInfo'を呼び出すときにエラーが発生すると言いますが、投稿したコードに' displayInfo'を呼び出すことはありません。 –