100msごとに定期的に呼ばれるコールバック関数を設定します。
書式
typedef void (* LP_TIMERPROC)(CPWindow *);
void AttachTimerEvent(LP_TIMERPROC TimerEvent);
|
パラメータ
TimerEvent
「void xxxx(CPWindow *)」型のstatic関数を指定します。
コールバック関数の第一引数に、CPWindowクラスのポインタが入ります。
解説
100ms(1/10秒)ごとに定期的に指定のコールバック関数を呼び出します。
一定時間ごとにアニメーションをさせたりする場合に使用できます。
なお、コールバック関数は必ずstaticの静的関数である必要があります。
コールバックを解除する場合は「DetachTimerEvent( )」を呼び出してください。
例
ウィンドウ(ダイアログ)を生成して、その中でコールバック関数よりタイマーイベントを取得します。
CPWindow win;
//タイマーイベントを受け取る
static void OnTimerEvent(CPWindow *lpWin)
{
....
}
void main()
{
//ダイアログを生成する
win.Clear();
win.CreateNewDialog("TestDialog",120,120,120,120);
//タイマーイベントのコールバック関数指定
win.AttachTimerEvent(OnTimerEvent);
//ダイアログの表示・イベントループの開始
win.DoModal();
}
この例では、100msごとに「OnTimerEvent」関数が呼ばれます。
ビルド時に必要なファイル
ライブラリ
| :CPartsLib.lib (Macintoshの場合は、CPartsCW.a)
|
ヘッダ
| :CPWindow.h
|
関連リンク
CPWindowクラス
CPWindow::DetachTimerEvent