Mac OSX Build and Run!

OSX上でのプログラミングの初歩について、情報共有ができればと思います。

C Carbon対応(Dialog,Window)

ToolBox(システムでサポートされる関数)は大きく分けてOS8.5以前のClassic用とその後整理されてCarbon用に限定されたものがあります。従ってOSXで全てのToolBoxは使える訳ではなく、Carbonに対応したもののみが使用できます。また、Carbonでは初期化が不要になった関数や従来は直接取り出せた参照値が、専用関数(アクセッサー)を使い取り出す様に変更された物もあります。以下はClassicのToolBoxをCarbonに対応させる場合のCでの事例集です。




Carbon で廃止された初期化関数を削除します。
#ifndef TARGET_API_MAC_CARBON//Classicなら以下を適用、カーボンなら不要
MaxApplZone();
InitGraf(&qd.thePort);
InitFonts();
InitWindows();
InitMenus();
TEInit();
InitDialogs(0);
#endif
FlushEvents(everyEvent,0);//イベントのクリアーでcarbonでも必要です。
InitCursor();//carbonでも必要です。




#ifdef TARGET_API_MAC_CARBON
SetPortWindowPort(gWindPtr);//carbon用
#else
SetPort(gWindPtr);//classic用
#endif


スポンサーサイト