Ich versuche zu erkennen, wenn eine Maus gedrückt gehalten wird statt geklickt. Dies ist, was ich habe, aber anstelle einer Klickzahl möchte ich in der Lage sein zu erkennen, die Maus gedrückt zu halten.Detect Maus wird gedrückt gehalten
-(void)mouseDown:(NSEvent *)event;
{
//instead of clickCount I want my if statement to be
// if the mouse is being held down.
if ([event clickCount] < 1)
{
}
else if ([event clickCount] > 1)
{
}
}
Wird dieses Ereignis nicht ausgelöst, wenn der Benutzer klickt und hält? – millimoose
Zum Zeitpunkt des Ereignisses "mouseDown" kann der Computer in der Zukunft nicht weit genug sehen, um festzustellen, ob der Benutzer die Maustaste gedrückt hält oder nicht. Um Drag-and-Drop zu implementieren, müssen Sie nur herausfinden, was mit dem Ereignis 'mouseDown' gezogen wird. Sie sehen das' mouseUp'-Ereignis wie Kristian umriß und ermitteln auch, wo das Element abgelegt wurde, und behandeln das 'mouseMoved '(oder wie auch immer es genannt wird) Ereignis (das' mouseIsHeldDown' überprüft) um zu sehen, ob etwas gezogen wird. –
Eine andere Option ist es, eine Art verzögerten Rückruf in der 'mouseDown' zu setzen. Wenn die Maustaste losgelassen wird, löschen Sie den Rückruf, und wenn der Rückruf ausgelöst wird, wurde die Maustaste mindestens so lange gedrückt.Dies ähnelt der Funktionsweise der Tastenwiederholung. –