どんなアプリがいわゆる「Mac」なアプリ?  これが難問だったりします。コントロールパネルとか他のApple社やら他人の アプリケーションでSuspend/Resume (他のアプリとの切り替え)やら、 Activate (自分のアプリが作る複数のウィンドウの切り替え)とかをじっくり見て いると、何が正解か分からなくなってきたりします。 #非Activeなのにコントロールが元気な奴とか……。WindowsならOSがこの辺り  全部やってくれるのだが、Macの場合ウィンドウの外枠のみしかやってくれず  ウィンドウの中身をActiveにしたり非Activeにするのはプログラマの責任なの  ですねぇ  …まぁ、非Activeな時の見かけ。なぞどーでも良いと言えばどーでも良いけど。 他のアプリと余りに挙動が違うと違和感ばりばりですしねぇ。 #IMみれば分かるのかな?けど、まぁここは感性で行きます。Appleの某サンプル  ソースを見ると、「おいらはこーゆーことしてるけど、まねしちゃダメよ」とか  書いてある。「おーい。何の為のサンプルなんだい?」とか言いたいけど、それが  Appleの*文化*なんでしょうか?  「ここんとこ、こういう処理で良い?」ってコメントもねぇ、俺に聞くなよ。  とか思わずソースと会話しちゃいますです。  メーカー直属の技術者がわからんことが、おいらに分かるはずあるかい(爆)  大体、Apple純正コンパイラで、Apple提供のソースを全く変更しないで  コンパイルして未定義な構造体が一杯だよー。ってエラーを喰らうってのは  どーしたことだ?お茶目な奴がAppleには居るに違いない……。  %そのソースをコンパイルするには:Readme曰く:MPWを使え。と書いてある   んですんぞ。ちなみに @これではわざわざMPWを選んだ意味がない……。  まーその。そーゆー暗い話題は置いておいて(笑):  「普通の」Macアプリを起動すると画面上部のメニューがそのアプリのものに  変化し、ウィンドウが出る。  他のアプリに切り替えるとそのアプリは「ディゼーブル」になるし、  そのアプリのウィンドウをクリックすると「アクティブ」になる。  後、アップルメニューからAboutを出せる。とか、定められたショートカット  (Command + Qで終了とか)を守ること。とかもありますね。 #Mac OS9付属の壁紙にショートカット一覧を出す壁紙。ってのがあるんで、  見られる人はそれ見れば何となく分かるかも。  ここらへんが基本でしょうか。しかしいきなりはきついので、比較の意味も  あるしで。モーダルダイアログなアプリってーのを作ることにしますです。  何が楽かとゆーとダイアログマネージャ(要するにOS)が結構手伝ってくれるし、  モーダルっちゅーぐらいだから絶対にディゼーブルとかサスペンドには  ならないし、おまけに自分の窓の上に他の窓がかぶさることも絶対ない。  という訳なんですね。 #逆に言うと「普通のアプリ」はそれを全部処理しないとならない(;_;)  んでも一応メニューは付けることにします(こーして一歩一歩進んでいくので  あった[笑])。 #Apple Scriptがどーのこーのとか、高水準イベントがどーの。とかは、今は無視  してます。悪しからず @そこまで手が回らない。というのが正直な所  ちなみに、MacではWindowの種類ってこんな感じらしいです。 *ここで言う「切り替え」というのはアクティブウィンドウの切り替えのことです             移動     アプリ間   アプリ内                    切り替え   切り替え -------------------------------------------------------------- 普通のウィンドウ    ○      ○      ○ モーダルダイアログ   ×      ×      × モードレスダイアログ  ○      ○      ○ ムーバブルダイアログ  ○      ○      × 実を言えば、モーダルダイアログなソースに5行ばかし追加(*1)すると: ムーバブル・  モーダルダイアログ  ○      ×      × ってなのもできるんですが、これはMac OSとしては邪道で反則。破廉恥 極まりない悪魔の所行(そこまで言うか?>わし)。なのでしょうかね? いきなりモーダルダイアログに肝心な画面を隠されてしまうよりはましだ。 とか思うのですが……。 *1 今まで紹介してきたソースだと、5行では済みません。もっと必要。。。って、   あの、ここで#include int main(){puts("hoge"); return 0};   みたいに書けば、どんなソースも1行ですけど?とかいう突っ込みギャグは   止めてね(^^;; --- どこかの「邪悪なCソースコンテスト」参加作品ぢゃないん   だから。 #…私のCソースの書き方が気にくわない人はもちろん居らっしゃることでしょう。  なにせかのC FAQに「やってはならない」と明記されていたりすることを  やってる(それはexternの扱いなのだが。しかしこの程度のソースの規模では  こんな所が妥当と思っているのです)し。そして私はそれを承知の上で現在は  こーゆースタイルなのですね。将来もこーゆースタイルかどーかは分かり  ませんけど。  (実をいうとK&R的な'{'と'}'のインデント量が違うってスタイルは、昔は   大っ嫌いだったし、絶対に書かなかったのだが。) (EOF)