タイトル【Carbon化シリーズ】プログラム-myNavEventProc2, MyUserData2カテゴリーCarbon/CF, Carbon化
作成日2000/7/4 19:32:55作成者新居雅行

《ソースファイル:DoCommand.c》

typedef struct MyUserData2 {
OSType selectedType;
} MyUserData2, *MyUserData2Ptr, **MyUserData2Handle;

void myNavEventProc2(
NavEventCallbackMessage callBackSelector,
NavCBRecPtr callBackParms,
NavCallBackUserData callBackUD)
{
EventRecord* thisEvent = ((callBackParms->eventData).eventDataParms).event;
//イベント情報を取得しておく
MyUserData2Handle userData = (MyUserData2Handle)callBackUD;
//ユーザデータを、コールバックルーチンで取り出す
switch (callBackSelector) { //イベントの種類に応じ
case kNavCBEvent: //一般的なイベントなら
switch (thisEvent->what) { //イベントの種類に応じ
case updateEvt: //アップデートイベントなら
break; //ここでは何もしないけど…
}
break;
case kNavCBPopupMenuSelect:
(**userData).selectedType = (*thisEvent).when;
//選択されたメニュー項目を記録する
break;
case kNavCBCancel: //キャンセルボタンが押されたなら
SysBeep(1); //システム警告音を鳴らす
break;
} //…という風にイベントごとの処理を記述する
}
関連リンク