Home>プログラミング講座>Mac C 講座> 第三回 イベント

Mac C 講座 第三回 イベント


 今度は、イベントについて書きます。

 イベントというのは、ほかのアプリケーションと会話(会話っていうのは大げさかな?)するためのものです。イベントを使えば、他のアプリケーションを裏で実行させながら、自分の作ったプログラムを走らせることができるようになります。

 普通の売ってたりするソフトはイベントを使ってるはずです。

 イベントの流れとしては、まず、一定時間ごとにイベントという、システム側から送りつけられるものを読みとって、そのイベントを判断して、システム側に処理を渡すという感じです。
 実際のソースコードとしては、







Boolean gDone = false;

void	EventLoop( void )
{
	EventRecord*	event;
	char		theChar;

	event = (EventRecord*)NewPtr( sizeof( EventRecord ) );
		//ここで、eventのメモリの確保をしている。

	while( !gDone )
	{
		WaitNextEvent( everyEvent, event, 20L, NULL );

		switch( event->what )
		{
			case	mouseDown:
				//クリック処理
				break;
				case keyDown:
			case	autoKey:
				//押されたキー判定
				break;
			case	updateEvt:
				//ほかのウインドウをクリックしたり、
				//ほかのウインドウから自分のウイン
				//ドウにアクティブなウインドウが変
				//わったときの処理
				break;
		}
	}
}

 みたいな骨組みになります。

 ちなみにこのループはグローバル変数gDoneがどこかでtrueになったら終わります。trueになるべき場所は、FileメニューからQuitを選んだときか、コマンドキー(前々回で説明)とQを同時に押したときです。それ以外に終わられるとユーザは混乱するのでやめましょう。

それぞれの処理はまた次回で。


[<前の回へ] [次の回へ>]


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