Image active sur le fond d'écran.

tabliertablier Membre
21:20 modifié dans Vos applications #1
Suite du post "Cartes Perforées"

Comment mettre l'image de la machine sur le fond d'écran et qu'un clic sur l'image lance le programme de contrôle de la machine?

J'ai pensé faire un fond d'écran spécifique et mettre l'icône transparente de l'application sur l'image. Ou bien vérifier les évènements "clic souris" sur le fond d'écran et lancer l'application lorsque le clic se fait dans le rectangle de l'image.
  ???  Je n'ai encore rien essayé. Si vous connaissez une solution ou que vous avez une idée, je serais content de la connaà®tre.

Réponses

  • CéroceCéroce Membre, Modérateur
    21:20 modifié #2
    Je ne comprends pas trop ce que tu entends par "fond d'écran", mais tu peux utiliser un NSButton qui contient l'image (le bouton n'a pas forcément de cadre).
  • tabliertablier Membre
    21:20 modifié #3
    Oui, je vois ce que tu veux dire. Ce que je souhaite, c'est d'avoir l'image directement sur le bureau, sans fenêtre autour. Et je ne sais pas mettre un bouton directement sur le bureau. Le fond d'écran, c'est en quelque sorte, l'image de fond de bureau.

    Une solution serait de mettre l'icône de l'application en grande taille sur le bureau. Mais dans ce cas tout les icônes seront de grandes tailles, ce que je ne veux pas.
  • AliGatorAliGator Membre, Modérateur
    septembre 2010 modifié #4
    A mon avis il te faut une icône dans une fenêtre, et rendre cette fenêtre sans fond et sans barre de titre et avec un CGWindowLevel qui soit au même niveau que le fond du bureau.

    Il me semble qu'il y a dans les archives du forum des posts qui causent de ces fonctions du SDK MacOSX pour manipuler les fenêtres (les rendre sans barre de titre ni tour ni fond, ce qui peut être utile pour faire des splashscreens à  la Office ou Photoshop mais aussi pour ton genre de cas) et pour manipuler le CGWindowLevel.

    Il me semble me rappeler également d'un SampleCode Apple genre "BorderlessWindow" ou un truc comme ça pour montrer comment faire une fenêtre sans bordures et avec un fond translucide, ça pourrait te donner des pistes si tu le retrouves
  • tabliertablier Membre
    septembre 2010 modifié #5
    Je vois l'idée, je vais fouiller de ce coté là !
    Pour l'instant j'ai une icône dans une fenêtre.

    Ok, J'en viens. Effectivement il y a l'exemple "RoundTransparentWindow" chez Apple. Il faut que je vois comment appliquer cela à  la fenêtre d'un dossier du Finder.
  • AliGatorAliGator Membre, Modérateur
    21:20 modifié #6
    Ah ton bouton tu veux le mettre en fond d'une fenêtre, pas du bureau ? Ah là  c'est carrément autre chose (faut que tu détectes la frame de chaque fenêtre et quand elles bougent et leur ordre (premier/arrière plan) et tout...

    Dans ce cas c'est p'tet mieux de regarder du côté des InputManagers ou quoi pour "hacker" le Finder ?
  • tabliertablier Membre
    21:20 modifié #7
    J'ai pris le temps d'aller voir tout ce qui m'a été indiqué. J'ai également trouvé chez Matt Gemmel le projet "RoundedFloatingPanel" de fenêtre transparente écrit sous 10.4. L'association destinataire du projet met à  ma disposition un iMac Flower qui marche au mieux sous 10.4!!
    Pour résumer:
    • Utiliser une fenêtre transparente oblige à  avoir une application en fonctionnement, donc ne pas être sous le Finder.
    • Mettre une "image-bouton" sur le bureau oblige à  patcher le finder (InputManager).


    Je vais prendre le temps de la réflexion.
Connectez-vous ou Inscrivez-vous pour répondre.