procedure Tfrm_MoudleManager.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if (grd_MoudleList.Handle = Msg.hwnd) and
((Msg.message = WM_LBUTTONDOWN) or (Msg.message = WM_RBUTTONDOWN)) then
begin
lbl1.Caption := IntToStr(StrToInt(lbl1.Caption) + 1);
DoSomething...
Handled := True;
end;
end;
end;
加断点,看看每次的Msg.message是什么。
解决方案2: mousedown一个MSG
mouseup一个MSG
至于第三个应该是你调用这个MSG也产生了一个MSG
响应三个事件的响应:
OnClick
OnMouseDown
OnMouseUp
就有3次了。