Cliquer sur un bouton sans donner mettre la fenêtre au premier plan.
Hello,
Est-ce que quelqu'un sait comment faire pour que lorsqu'on clique sur un bouton qui est dans une fenêtre, la fenêtre qui était active avant de cliquer sur le bouton le reste (un peu comme iTunes et les boutons pour changer de piste).
Merci
Est-ce que quelqu'un sait comment faire pour que lorsqu'on clique sur un bouton qui est dans une fenêtre, la fenêtre qui était active avant de cliquer sur le bouton le reste (un peu comme iTunes et les boutons pour changer de piste).
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSWindow.html#BCIGAIJC
Il faut jouer avec les méthodes -(BOOL)canBecomeKeyWindow et -(BOOL)canBecomeMainWindow de NSWindow.
.
Merci pour vos réponses, mais elles ne répondent en fait pas à la question, qui était visiblement mal formulée...
Le problème n'est pas de cliquer sur un bouton d'une fenêtre non active sans avoir à activer la fenêtre (qui est la première partie du problème, mais qui est résolue), mais plutôt de faire en sorte que lorsqu'on clique sur le bouton (quand la fenêtre n'est pas active), la fenêtre ne devienne pas active.
Par contre j'ai trouvé ça: click-through-disabler
Ok. Le click-trough dont parle mpergand est la possibilté de ne pas "perdre" l'événement qui active une fenêtre.
En fait, ce que tu veux, c'est comme cliquer sur le bouton rouge de fermeture de la fenêtre : ça n'active pas la fenêtre, mais le bouton réagit quand même...
.
Tout à fait, ou comme je l'avais mentionné dans le premier post les boutons de iTunes (en mode "réduit"), qui sont actif sans que la fenêtre iTunes devienne active.
Dans IB j'ai créé un panel, et j'ai joué avec les propriétés pour voir à quoi elles servaient...
Si la propriété "Non activating Panel" est cochée et "Hide on deactivate" décochée, le fait de cliquer dans un bouton (par exemple) dans ce panel, alors que l'appli n'est pas au premier plan fait que l'action du bouton est exécutée, mais l'appli ne se met pas au premier plan, et donc ses fenêtres restent cachées.
Voilà , c'est dit.
.