ホーム WTL Mobile
ウェイトカーソル
ドキュメント種別 ATL/WTL に関する文書
最終更新日 2009/12/16
PR
 WTLはウィンドウ上のカーソルを簡単に変更するためにCWaitCursorクラスを用意しています。 このクラスはatlctrlx.hヘッダに定義されています。 次に示すのはCWaitCursorクラスの最も簡単な使用方法です。

// ある関数
void function(){
    CWaitCursor cursor;

    // 時間のかかる処理
}
			

CWaitCursorクラスのコンストラクタには3つの引数を指定できます。 第1引数はインスタンスを作成した直後にカーソルを変更するかどうかを示すbool値で、 trueを指定すると内部でSet()というメンバ関数が呼び出されてすぐにカーソルが変わります。 第2引数はカーソルリソース名、第3引数はシステムカーソルを使うかどうかを示すbool値です。 これらの引数はすべて省略でき、省略した場合はデフォルト引数として順にtrue、IDC_WAIT、trueが指定されます。 上の例ではコンストラクタ引数を省略しているため、ウェイトカーソルになります。 CWaitCursorクラスのデストラクタではRestore()というメンバ関数が呼び出され、 カーソルが元に戻ります。

 Set()Restore()は明示的に呼び出すこともできます。 次に示すのは、前述の例と同じ処理をメンバ関数を明示的に呼び出して実行する例です。

// ある関数
void function(){
    CWaitCursor cursor(false);
    cursor.Set();      // カーソルを変更

    // 時間のかかる処理

    cursor.Restore();  // カーソルを元に戻す
}
			

この例ではCWaitCursorクラスのコンストラクタの第1引数にfalseを指定しているため、 インスタンスを作成した時点ではまだカーソルは変更されません。 Set()を呼び出した時に初めてカーソルが変更されます。