Les applications OSX normales mangent le premier clic de la souris lorsqu'elles ne sont pas concentrées pour effectuer la première mise au point de l'application. Ensuite, les futurs clics sont traités par l'application. Le bouton iTunes play/pause et le Finder se comportent différemment, le premier clic est activé même s'il n'est pas focalisé. Je cherche un moyen de forcer une application existante (Remote Desktop Connection.app) à agir sur le premier clic et pas seulement sur le focus.Faire que l'application OSX réponde au premier clic de la souris lorsqu'elle n'est pas focalisée
Répondre
Cochez la case acceptFirstMouse de NSView, c'est peut-être ce que vous cherchez.
acceptedFirstMouse: Surchargé par les sous-classes pour renvoyer YES si le récepteur doit recevoir un message mouseDown: pour un événement de souris initial, NO sinon.
- (booléen) acceptsFirstMouse: (NSEvent *) theEvent
Paramètres theEvent Le __gVirt_NP_NN_NNPS<__ événement de souris vers le bas initial, qui doit être sur le récepteur dans sa fenêtre.
Discussion Le destinataire peut renvoyer une valeur sans condition ou utiliser l'emplacement de l'événement pour déterminer s'il souhaite ou non l'événement. L'implémentation par défaut ignore theEvent et renvoie NO. Remplacez cette méthode dans une sous-classe pour permettre aux instances de répondre aux clics. Cela permet à l'utilisateur de cliquer sur une vue dans une fenêtre inactive, en activant la vue en un clic, au lieu de cliquer d'abord pour rendre la fenêtre active, puis en cliquant sur la vue. La plupart des objets de vue refusent une tentative de clic, de sorte que l'événement active simplement la fenêtre. Toutefois, de nombreux objets de contrôle, tels que NSButton et NSSlider, les acceptent, ce qui permet à l'utilisateur de manipuler immédiatement le contrôle sans avoir à relâcher le bouton de la souris.
// En supposant que vous ayez un contrôleur de vue qui traîne toujours. Plus rouler le loadview. N.B. cela ne fonctionnera pas pré-yosemite.
- (void)loadView {
NSLog(@"loadView");
self.view = [[NSView alloc] initWithFrame:
[[app.window contentView] frame]];
[self.view setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
int opts = (NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways);
trackingArea0 = [[NSTrackingArea alloc] initWithRect:self.view.bounds
options:opts
owner:self
userInfo:nil];
[self.view addTrackingArea:trackingArea0];
}
- (void)mouseEntered:(NSEvent *)theEvent {
NSLog(@"entered");
if ([[NSApplication sharedApplication] respondsToSelector:@selector(activateIgnoringOtherApps:)]) {
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
}
}
C'est une solution, franchement, sans espoir. –
Vous pourriez essayer de surcharger le contenu de nswindow pour le rendre moins fragile. – johndpope
- 1. La fonction jQuery Toggle ne fonctionne pas au premier clic
- 2. Lier l'événement au clic droit de la souris
- 3. NSTableView répondant au premier clic dans un panneau
- 4. simulation de clic de souris directx
- 5. Simuler le clic de la souris sur la fenêtre au lieu de l'écran
- 6. double clic de souris ne fonctionne pas très bien
- 7. Pourquoi est-ce que je ne peux pas piéger un clic de souris dans IE?
- 8. GridPanel ne s'ajuste pas au premier redimensionnement
- 9. Java Stack/Nest Count
- 10. Comment faire pour que la méthode TNMHTTP Get réponde à une redirection
- 11. changer la couleur du thème ui et le clic de souris pour passer la souris?
- 12. Flash 8 AS2 Comportement du clic de la souris: l'endroit cliqué devient déblocable jusqu'à ce que la souris bouge
- 13. La modification de ligne dans la grille ne fonctionne pas en premier clic
- 14. java: l'activation d'un événement clic de souris
- 15. La fonction de clic jQuery ne fonctionne que sur le premier élément
- 16. OpenGL: clic de souris projection sur la géométrie
- 17. Comment détecter le clic droit de la souris tout en appuyant sur le bouton gauche de la souris dans IE?
- 18. Comment conserver la sélection de la zone de texte WPF lorsqu'elle n'est pas focalisée?
- 19. Événements de souris spéciaux dans un navigateur: roue, clic-droit?
- 20. Utilisation de Python pour lire l'écran et contrôler le clavier/la souris sous OSX
- 21. Comment gérer CEdit clic de souris sous forme parent?
- 22. C# Roulette de la souris de la souris ListView sans mise au point
- 23. Comment répéter un clic de souris dans .NET
- 24. Détection de clic de souris et Transformation2D dans Direct3D
- 25. IE8 ne soulève que le clic de la souris sur le texte dans la cellule de tableau
- 26. Force messagebox au premier plan
- 27. Trigger UpdatePanel au-dessus de la souris (comme info-bulle)
- 28. Comment obtenir la ChildWindow active d'une application qui n'est pas focalisée?
- 29. comment capturer un clic de souris dans actionscript 3.0
- 30. Envoi d'un clic de souris sur un bouton dans la barre des tâches à l'aide de C#
Vos exemples ne sont pas entièrement corrects. iTunes ne prend en charge que les clics dans certains endroits, comme lorsque la fenêtre est en mode mini. – benzado