In response to SuperAntx
SuperAntx wrote:
I'm not following the point you're trying to make.

I am not sure what you are not understanding, but I have already explained the problem to you at least 4 times now.
* MouseDown() does not trigger during a double click
(not the DblClick() proc, just the process of clicking twice quickly)
* DblClick() does not trigger when the mouse is in motion
(That movement can be of the mouse, or the player, or the thing you're trying to click)
Attempting to catch all MouseDown(s) by forcing them through DblClick() will not be reliable, because in most cases, the mouse will not be idle, so DblClick() will fail to trigger to force the MouseDown() call.
Right, and because of that you wouldn't have the problem of DblClick() overriding MouseDown(). The scenario you are describing would just call MouseDown() > MouseUp() twice with maybe a MouseDrag() in the middle. All your bases are still covered so you wont have any problems.
Oh, you're right, this is actually the DblClick() proc hijacking MouseDowns(s), and not some internal fault. My mistake.
I see the issue: Windows itself actually uses a different message here and is not sending the mousedown, bypassing our logic to handle mousedown. I agree that mousedown should be sent first.

What I'm less clear on is whether we want to do our usual drag initiation on a double-click. That's something I'll have to consider.
Lummox JR resolved issue with message:
MouseDown events were not generated in the case of a double-click. Now MouseDown() will always precede DblClick().
Honestly, I've never liked Click(), DblClick(), MouseDrag(), and MouseDrop().

Click() is a nice shortcut, but DblClick() overrides it every second click in quick succession. Rather than defining the same action twice when I don't want to use DblClick(), I would like to define my own double-click (or triple-click) when I want to use it, independent of Windows' double-click speed setting.

DblClick() is only convenient for using user's Windows' double-click speed setting, e.g., HUDs and menus.

MouseDrag() has annoyed me from day one because it ignores MouseEntered() and MouseExited(), meaning I have to write my own MouseExited() and redefine anything under MouseEntered(), both under MouseDrag().

MouseDrop() doesn't really bother me, but only because it doesn't interfere with MouseUp().
Page: 1 2