|
비슷한 예입니다. 타이머 쓰실때~
class TfmMain : TFrom
{
public:
static void CALLBACK TimerProc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2);
void __fastcall OnTimer(UINT nIDEvent);
};
//---------------------------------------------------------------------------
void __fastcall TfmMain::FormCreate(TObject *Sender)
{
// multimedia timer start
FTimeSetEventID = timeSetEvent(1000, 1, TimerProc, (DWORD)this, TIME_PERIODIC|TIME_CALLBACK_FUNCTION);
}
//---------------------------------------------------------------------------
void CALLBACK TfmMain::TimerProc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
{
TfmMain* fmMain = (TfmMain*)dwUser;
try
{
if (::IsWindow(fmMain->Handle))
{
fmMain->OnTimer(uID);
}
}
catch(...)
{
}
}
//---------------------------------------------------------------------------
void __fastcall TfmMain::OnTimer(UINT nIDEvent)
{
this->Caption = Now().DateTimeString();
}
//---------------------------------------------------------------------------
|