たんなるメモです ^^;
OpenClassLibrary編
#ifndef _IBASE_
#include <Ibase.hpp>
#endif
#include <istdntfy.hpp>
#include <itime.hpp>
#include <itimer.hpp> <-- ITimerクラス
#include <iapp.hpp>
#include <istattxt.hpp>
#include <iframe.hpp>
#include <stddio.h>
//*--------------------------------------------------------------------
//* ITimerと ITimerMemberFnを使ったサンプル
//*--------------------------------------------------------------------
class MyTimer {
public:
MyTimer(IStaticText* itext):
text(itext),
str(ITime().asString("%H:%M:%S") )
{
ITimer timer; //タイマー作成。デフォルトは1秒間隔
// タイムアウトする毎に呼び出してもらう関数を登録
timer.start( new ITimerMemberFn<MyTimer>this, MyTimer::tick) );
text->etText(str);
}
void
tick( unsigned long timerId )
{
str = ITime().asString("%H:%M:%S") ;
text->etText(str);
}
protected:
IString str;
IStaticText* text;
};
//*--------------------------------------------------------------------
int main()
{
IFrameWindow mainWindow ("ITimer Sample", 0x1000);
IStaticText timeMsg(0x8008, &mainWindow, &mainWindow);
MyTimer myTimer(&timeMsg);
timeMsg.setAlignment(IStaticText::centerCenter);
mainWindow.setClient(&timeMsg);
mainWindow.sizeTo(ISize(200,140));
mainWindow.setFocus();
mainWindow.show();
IApplication::current().run();
return 0;
} /* end main */
| 最終更新日: 2000/02/06 Sun |
質問・感想・苦情・激励は
E-mail: vette@mail.ne.jp
まで。
©vette 1997-2004