2005-11-04

'DITL'と'CNTL'  [by miyachi]

おぉ久しぶりにプログラミングカテゴリー(笑) 今Carbonプログラミングやってます。でダイアログはrsrcファイルをRedEditでGUIを作成している。実は私はこのタイプのGUI作成はそれ程やっていない。長らくMacAppと言うアップル標準のフレームワークを使っていて、ResEditと同時に提供されていたViewEditと言うツールを使ってGUIを作成していた。

CarbonでもMach-OなんかのMacOS-X環境用だとrsrcファイルでは無くnibファイルになるんだろう。nibファイルはInterfaceBuilderで作成が出来る。アップルのサイトにrsrcからnibへのコンバート方法の情報もあるようだ。今後はResEditを使う事は無いんだろうな。だいたいResEditはClassic環境でしか動かないし(^^; とは言え今のお仕事はベースがrsrcファイルで来ているのでこちらでやらねばならない。

rsrcファイルの'DITL'リソースでダイアログのだいたいの配置が決められる。StaticTextやEditTextなんかはここで位置もサイズも決められる。ただ少し高度なGUIを使うには'CNTL'リソースを配置してやる必要がある。'DITL'リソース中のアイテムからID指定で'CNTL'リソースを指定すれば良い。

'CNTL'リソース中で位置やサイズが指定可能だ。'DITL'中の'CNTL'指定では位置しか決められない。本当はサイズに関しては'CNTL'リソースに従うはずなんだが… う~ん反映されない… ここなんかを見ても良いはずなんだがなぁ。

ここでいつまでも詰まってはいられないので今回は素直にプログラムの方で'CNTL'リソースのサイズを変更する事に。これはもちろんちゃんと動作する。とりあえず実用上解決はしたもののイマイチすっきりはしない。時間があれば後日調べたいところではあるが、時間は…無いだろうなあ(^o^; だいたいもうrsrcファイルを弄る事も無いような気がするし。

ResEditはアップルのサイトから説明が消えていたのでもうダウンロード出来ないのかと思っていたら直リンクは生きているようだ。ただいつまでダウンロード出来るのかは不明。

ツールと言えば今回の開発に使っているのがCodeWarriorのv9だ。今日メールが来てv10がリリースされたとの事。ダウンロード版のみで99ドルらしいので最後の大盤振る舞いですね。これがMacOS向け最後のバージョンになる。当然ですがIntelMacには対応しないと言う事ですね。なおそのメールの最後に、

Thank you for your patronage and loyalty over the past 12 years. We hope you join us on our new adventure as the tools provider for Freescale silicon.

とある。私も長年CodeWarriorを使って来た人なので少しジンと来た。クセはあったが慣れればそれなりに使いやすい面も多々あるツールだった。あと「Metrowerks」「Freescale Semiconductor, Inc.」とやらになったか吸収されたらしい。1つの歴史が終わったと言う事か。ありがとうCodeWarrior&Metrowerks!ってまだこれから使うんだが(^^;

Xcodeも勉強すべくとりあえず書籍を購入。「Xcode2入門」だ。まずは入門からって事で(笑)

あと関係無いが、再来週開かれるInterBEE2005にはアップルも出展するようだ。放送機器展なのだがCG関連の展示も多い。と言う事で仕事を何とかして1日はゆっくりと見に行きたいと考えているがどうなりますか… 場所も幕張だし。遠い…
2005-11-04 12:40:37 - miyachi - - [プログラミング] -