0

私はbadaプログラミングに不慣れです。質問があります。つまり、badaのボタンイベントハンドラーが別のフォームを表示できるようにすることは可能ですか?もしそうなら、どうすればそれを行うことができますか?よろしくお願いします!

4

2 に答える 2

1

はい、そうです、

ボタンにActionEventListenerを追加し、

pButton = new Button();
pButton->Construct(Rectangle(176, 593, 128, 46), L"");
pButton->SetActionId(IDC_ACTION);
pButton->AddActionEventListener(*this);
AddControl(*pButton);

およびOnActionEventListener()

フォームを作成する

void
Form1::OnActionPerformed(const Control& source, int actionId)
{
    case IDC_ACTION:
    {      
        Form2* pExeForm = new Form2();
        pExeForm->Initialize();
        r = pFrame->AddControl(*pExeForm);
        r = pFrame->SetCurrentForm(*pExeForm);
        r = pExeForm->Draw();
        r = pExeForm->Show();
    }
    break;
}
于 2011-11-22T18:31:32.910 に答える
0

ボタンを押してOnActionPerformedを呼び出し、pFormMgr-> SendUserEvent(FormMgr :: FORM_ID_YOU_WANT_TO_CALL、null);を実行すると、フォームマネージャーとして機能できるコントローラーを1つ作成します。これにより、フォームマネージャーでOnUserEventReceivedNが呼び出されます。さて、あなたのフォームを呼び出すには、

NewForm* pNewForm = new NewForm();
pNewForm ->Construct();
pFrame->AddControl(*pNewForm );

pFrame->SetCurrentForm(*pNewForm );
pFrame->RequestRedraw();
于 2011-11-23T06:59:26.287 に答える