● 小池邦人のMac OS Xへの道 2001/05/03

〜 CarbonLibの「謎」が解明された! 〜

前回とりあげたCarbonLibの「謎」に関して、読者のみなさんから解決策が寄せられております!!ぜひ参考にしてみてください。

● Applicationメニューの「環境設定...」アイテムのハイライトを解除するのには?

--------【解決方法】--------

その後、Applicationメニューの「環境設定...」アイテムに関しては、EnableMenuItem()ではなくて、EnableMenuCommand()を利用すればハイライトを解除できることが分かりました。こんな感じですね...。

EnableMenuCommand( GetMenuRef(128 ), 'pref' );

ダイアログ表示はCarbon Eventのハイコマンド用Handlerルーチンで処理すればOKです。この件に関しては何人もの方からご連絡をいただきました。本当にありがとうございました!

● ファイル保存用ダイアログをSheet Windowとして表示するのには?

--------【解決方法】--------

こちらに関しても、読者のゆうたさんを含め多くの方から解決方法が届きました。NavDialogCreationOptions構造体のmodalityメンバーにkWindowModalityWindowModal(定数)をセットする必要があるようです。ファイル名が正しく保存できなくなったのは、NavDialogGetSaveFileName()で得たファイル名を、CFStringGetPascalString()を使いFSSpecのnameメンバーに(初期値NULL)に設定しなければいけないためのようです。

ファイル名がUnicode対応になったため、色々と面倒になっているようです。詳しくは「CarbonLib 1.3.1 SDK」に含まれている「NavSample」を参照してみてください。

ゆうたさん、みなさん、ありがとうございました!

---------------------------

それ以外の「謎」に関しても、解決方法を募集しております(笑)よろしくお願い致します

copyright 2001 Ottimo, Inc. All rights reserved
無断転載・引用禁止
Contact Us: koike@ottimo.co.jp