2006年02月11日

Series60 GUIアプリケーションの構造

AppUiクラス

 先述の通り、AppUiクラスはコントローラの役割を果たします。コントローラではユーザーのイベントを受け取り、それを処理するわけです。この「イベント通知用の関数」は「メニューのイベント用(HandleCommandL)」と「キー入力のイベント用(HandleKeyEventL)」の2つがあります。

TkeyResponse CSample1AppUi::HandleKeyEventL(
const TKeyEvent& /*aKeyEvent*/,TEventCode /*aType*/)
{
return EKeyWasNotConsumed;
}

void CSample1AppUi::HandleCommandL(TInt aCommand)
{
switch ( aCommand )
{
case EAknSoftkeyBack:
case EEikCmdExit:
{
Exit();
break;
}
case ESample1CmdAppTest:
{
iEikonEnv->InfoMsg(_L("test"));
break;
}
// TODO: Add Your command handling code here
default:
break;
}
}

HandleKeyEventLには、キーイベントの種類(aKeyType - 押し下げ、押し上げ)と操作されたボタン(aKeyEvent)が、HandleCommandLには選択されたメニューリソースで定義されたリソース IDが引数に渡されます。リソースについても以降の連載で触れる予定です。

Containerクラスでのイベントの処理

 Containerクラスにおいても、キーイベントの処理が可能です。イベント処理を可能にするためには、OfferKeyEventLをオーバーライドする必要があります。

TKeyResponse CSample1Container::OfferKeyEventL(
const TKeyEvent& aKeyEvent,TEventCode aType){
if( aType == EEventKeyDown)
iEikonEnv->InfoMsg(_L("Test"));
return EKeyWasNotConsumed;
}
posted by シンビアン at 08:03| Comment(0) | TrackBack(0) | Series60プログラミングテクニック | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/13123009

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。