# CMglEzGameFrame::StartWindow()

    int StartWindow( int nWinWidthSize, int nWinHeightSize,
    		LPTHREAD_START_ROUTINE mainThreadFuncPtr,
    		const char *szWindowTitle="No title", BOOL bFullscreen=FALSE );

## 概要

ウインドウを作成し、DirectX関連等の初期化後 mainThreadFuncPtr
にて指定されたコールバック関数を別スレッドとして開始させます。

## 引数

nWinWidthSize　- ウインドウの横幅
nWinHeightSize　- ウインドウの高さ
mainThreadFuncPtr　- メイン処理として呼び出されるコールバック関数
szWindowTitle　- ウインドウのタイトル（省略可能）
bFullscreen　- フルスクリーンにするか否か（省略時ウインドウモード）

## 解説

mainThreadFuncPtr は以下のような宣言である必要があります。

    BOOL 任意の関数名( CMglEzGameFrame *任意の変数名 );

pFrame には、そのコールバック関数を呼び出した CMglEzGameFrame クラスの
インスタンスへのポインタです。このコールバック関数の中で何をすべきかは
チュートリアルを見れば大体分かります。

このコールバック関数が復帰した場合、終了処理を行った後に StartWindow() は
終了します。このコールバック関数の復帰値は BOOL 型ですが、
現在使用されていません。また、pFrame->DoFpsWait() がFALSEである場合、
コールバック関数は即座（と言ってもある程度・・・1フレーム分くらいの猶予はある）
に復帰しなければいけません。

コールバック関数内からMGL例外が上がり、それがキャッチされなかった場合、
StartWindow() はデフォルトのエラーメッセージダイアログを表示します。

＞戻る