《ソースファイル: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; } //…という風にイベントごとの処理を記述する }
|