Home>プログラミング講座>Mac C 講座> 第一回 ウインドウ

Mac C 講座 第一回 ウインドウ


 Macintoshでプログラミングをするにはリソースという概念を知らなければなりません。リソースとはソースコードのように文字のみで構成されるものではなく、もっと視覚的に変更できるものです。また、リソースがあると、読み込んで使えようにするまでが楽になるようになっています。
 それでは、リソースの編集方法をウインドウを例に解説します。リソースフォークを編集するにはResEditが必要です。ResEditはAppleのサイトのどこかからダウンロードできるはずです。

 また、Resorcererという市販ソフトもありますが、高価で初心者の人がおいそれとかうことのできる代物ではないので、ここでの説明は省略します。しかし、ResorcererはResEditより強力で使いやすくなっています。

図1
ResEditのアイコン



図2
Resorcererのアイコン
 まぁ、ResEditを手に入れたとして、とりあえずウインドウのリソースの作り方を説明しましょう。まずResEditを起動して下さい。そうすると図3のようなウインドウが表示されます。マウスのボタンをクリックすると図4のようなダイアログが表示されます。


図3 ResEdit起動時の画面。


図4 クリックした後の画面。

 そこでNewを押して新しいリソースファイルを作ります。すると図5のダイアログが表示されるはずですので、ファイル名とリソースを保存する場所を指定してください。ちなみに、リーソースファイルの末尾に「.rsrc」とつける習慣がありますので、できるだけその習慣に従ってください。(図5)


図5 新しいファイルを作成する

 ファイルを作成し終わったらResourceメニューのCreate New Resourceを選ぶかコマンドキー(リンゴのマークのついたキー)とKを押しましょう。(図6)

 すると、なにやらあやしいダイアログがでてきましたね。このダイアログのテキストボックスに、WINDと入力しましょう。そしてリターンキーを押しましょう。(図7)


図6


図7

 そうすると、ウインドウが新しく二個開くはずです。上になっている大きい方のウインドウを見てください。(図8)


図8 作成された二つのウインドウの内の上にある方(60%に縮小済)

 なんかウインドウの中に小さいウインドウみたいなのがありますね。そのウインドウの真ん中あたりをドラッグすれば、ウインドウの位置が変わります。そして、右下をドラッグすれば、ウインドウの大きさが変わります。上の方に真四角のウインドウ見たいのが並んでますね。そして、一個だけ白と黒が反転しているはずです。それが、選択されているタイプ(見栄え)です。見栄えを変えるには、その真四角のウインドウもどきをクリックすれば変わります。ウインドウのタイトルを変えるには、WINDメニューの一番上のアイテムを選んで(図9)、WindowTitleのテキストボックスのなかみを変えればできます。(図10)


図9


図10

 次に、リソースがある場合のウインドウの表示の仕方のソースを書きます。Macintoshでは、プログラムを実行する際にToolboxというMacintoshのROMのルーチン群を使用するようにしなければ一般的なプログラムのような見た目にはなりえません。使用するためにToolboxの「初期化」をしなければなりません。以下の関数を定義し、プログラムの最初に呼び出しましょう。





	void	ToolboxInit( void )
	{
		InitGraf( &qd.thePort );
		InitFonts();
		InitWindows();
		InitMenus();
		TEInit();
		InitDialogs( NULL );
		InitCursor();
	}

 別に全部の文を実行していなくてもよいのですが、Toolboxの違う部分を付け加えるたびにここも変更しなければならないというのは面倒なので全部最初に書いてしまうのが一般的です。 そして、while( !Button() ) ; で最後はクリックするまで終わらないようにしてあります。(あくまでサンプルプログラムとしてです。クリックすると終わってしまうソフトなんて普通じゃないです。)
 それでは、ソースコードに入ります。





	WindowPtr win;
	win = GetNewWindow( 128, NULL, (WindowPtr)-1L );
		//128はWINDリソースで保存してあるリソース番号。
	ShowWindow( win );

 この書式がウインドウの表示方法の全てではないのですが(リソースを使わなくてもいいNewWindow()とかもあったりする)、ほかは独学で学んでください。


[次の回へ>]


[Mac C 講座]
[プログラミング講座]
[Home]