组件的OnClick事件触发速度
问题描述:
我在表单上使用了两个TButton组件作为Plus和Minus。点击时,他们将添加或减去一个整数,然后显示在TLabel上。组件的OnClick事件触发速度
这个功能正如我所希望点击的速度会触发OnClick事件而没有错误。
我用PNGButton组件替换了按钮,这样我就可以让它们看起来更漂亮。除了每次单击组件时,OnClick事件似乎都不会触发,所有内容仍然可以像以前一样工作。我还用一个简单的TImage组件测试了这一点,结果是一样的。
如果我点击很慢它每次都会触发,但是如果我按照常规步速点击,它似乎只会触发每一秒点击。
我该怎么做才能确保每次触发OnClick事件?
答
除了使用OnClick事件中,使用OnMouseUp事件:
procedure TForm.btnMinusMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Self.NumSelected > 0 then begin
Self.NumSelected := Self.NumSelected - 1;
Self.UpdateLabel;
end;
end;
或许有些解释可能会有帮助。我怀疑OnClick没有注册,因为它被认为是双击。鼠标向上不依赖于点击解释,所以很有用。 – mj2008 2010-02-15 16:13:35