关于ActiveForm和Timer的问题(高分)
我用Delphi做了个ActiveForm,其中需要用到定时器,结果发现Delphi控件TTimer在其中根本无法触发事件,因此我决定使用Win API: SetTimer,如下:
SetTimer(Self.Handle, 1, 500, Nil);
可是依然无法响应WM_TIMER消息。
同时,我在VC里做了个实验,用Wizard生成MFC ActiveX,并且通过::SetTimer(((CWnd*)this)->m_hWnd, 1, 500, NULL)设置定时器,
结果一切正常。
然后,我又做了另一个实验:在Delphi里写个调用ActiveForm的Client程序,在这个程序里设置ActiveForm的定时器:
SetTimer(XMyCtrl.Handle, 1, 500, Nil)
结果也没有问题。
真的很奇怪,难道Delphi在ActiveForm中得到的Handle不正确?还是因为什么原因?那我又该使用什么Handle呢?