IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Position XY d'un icone dans la barre des taches


Sujet :

WinDev

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Position XY d'un icone dans la barre des taches
    Bonjour a tous,
    Je debute en dev windev et j'ai deja un gros souci.

    Jai crée un projet que jai minimisé en icone dans la barre des taches .. je devait afficher une bulle sur l'cone et quand je clique sur l'icone .. je devrait faire aparaitre une fenetre. Du coup jai pas trouvé de facon a le faire correctement. BalloonTip semble ne pas pas gerer les evenements bulle comme jy attendait.

    Je met suis rabattu a crée une fenetre avec le meme style qu'une bulle d'aide que je souhaite afficher sur l'icone. Et je trouve pas bcp d'aide concernant comment trouvé la position graphique X Y de l'icone.

    jai utilisé le SysIconeAjoute pour ajouter l'icone.

    Qqun a une idée ?

    merci.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 153
    Points
    2 153
    Par défaut
    Je crois que je vois à peu près ce que tu veux faire... mais je comprends pas bien ta question...

  3. #3
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Au fait je cherche a connaitre la position X Y d'un icone que j'ai ajouté par un "SysIconeAjoute" dans la barre des taches.

    Car j'ai crée une fenetre que je compte faire aparaitre sur l'icone.

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 153
    Points
    2 153
    Par défaut
    Le mieux serait de créer une procédure qui sera appelée lors du clic sur l'icone...

    Je n'ai jamais utilisé les icones systèmes mais d'après l'aide tu peux associer une procédure qui sera déclenché par le clic :
    SysIconeAjoute(<Nom du fichier icône> [, <Nom du menu> [, <Message de survol> [, <Nom de la procédure>]]])

    Ne serait-ce pas ce que tu cherches ?

  5. #5
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    hmm pas vraiment.

    Je cherche pas a cliquer sur licone, mais a faire aparaitre une fenetre sur l'icone.
    Un peu comme une bulle.

    L'idee serait quand mon appli tourne en arriere plan et que dans un cas precis jai la fenetre qui aparait sur licone .. pareille comme quand l'image de la batterie nous fais signe quil reste x % de batterie restant.

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 153
    Points
    2 153
    Par défaut
    dans ce cas il faut que tu vois jusqu'où tu peux aller avec les fonctions de gestion de cette "icone systeme" proposées par Windev.

    En effet, comme tu le dis, au moment du survol ton appli est potentiellement en arrière plan... ce qui fait que tu ne pourras pas détecter le survol de ton sysicone avec SourisPosX() et SourisPosY()

  7. #7
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Il y a pas bcp de fonctions de gestion de cette "icone systeme" a ce quil me dit semble .. et encore moins qui renvoie des info concernant licone

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 153
    Points
    2 153
    Par défaut
    à ce que je vois dans l'aide il est censé y avoir une infobulle native... (3eme paramètre)

  9. #9
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Oui c'est un message de survol, mais pas de possibilité de gerer les evenements du clique sur le message de survol.Par contre y a possibilité de capturer l'evenement du clique sur licone mais cest pas ce que je cherchais.

    Cest soit je fait aparaitre une bulle sur licone et quand je clique dessus jouvre une fenetre OU je fais aparaitre une fenetre sur l'icone en forme de bulle (d'ou mon souhait de connaitre la position X Y de licone) pour pouvoir lutiliser a mon guise.

    Et pour l'instant cet pas gagné du tout.

  10. #10
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 153
    Points
    2 153
    Par défaut
    Dans tous les cas comme je te l'ai dit tu ne pourras pas capter le survol grâce au position XY de la souris quand ton appli est en arrière plan....

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 815
    Points
    815
    Par défaut
    Bonjour à tous !
    Citation Envoyé par Nina_Angel Voir le message

    Cest soit je fait aparaitre une bulle sur licone et quand je clique dessus jouvre une fenetre
    Nina, j'ai peut être une piste de solution pour toi, mais ça va demander quelques investigations.

    Si tu regardes sur MSDN, tu verras que les événements qui concernent le "ballon de notification" où s'affiche le Message de survol sont concrétisés par l'envoi de messages windows:

    Citation Envoyé par MSDN : Shell_NotifyIcon function

    As of Windows XP (Shell32.dll version 6.0), if a user passes the mouse pointer over an icon with which a balloon notification is associated, the Shell sends the following messages:

    • NIN_BALLOONSHOW. Sent when the balloon is shown (balloons are queued).

    • NIN_BALLOONHIDE. Sent when the balloon disappears. For example, when the icon is deleted. This message is not sent if the balloon is dismissed because of a timeout or if the user clicks the mouse.

    • NIN_BALLOONTIMEOUT. Sent when the balloon is dismissed because of a timeout.

    • NIN_BALLOONUSERCLICK. Sent when the balloon is dismissed because the user clicked the mouse.
    http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

    Donc la piste serait d'intercepter le message NIN_BALLOONUSERCLICK envoyé à une fenêtre de l'application,... peut-être.
    Pour cela, tu utilises la fonction WLangage Evénement en donnant au paramètre <Nom de l'objet> la valeur "*.*"
    http://doc.pcsoft.fr/fr-FR/?3015011

    J'ai écrit "peut-être", parce que la fenêtre de destination des messages de notification est encore un "mystère".

    En effet, il est fréquent d'utiliser une fenêtre cachée pour gérer ce genre de message, et dans ce cas là la fonction Evénement n'interceptera pas le message. Alors il faudra surveiller les messages envoyés à cette fenêtre (utilisation des API windows pour mettre en place un Hook, cf. fonction API Windows SetWindowsHookEx).

    A suivre donc...

  12. #12
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Quote "NIN_BALLOONUSERCLICK. Sent when the balloon is dismissed because the user clicked the mouse."

    Effectivement cette piste parait interessant .. je vais faire un test pour voir si marche.

    Merci pour vos repornses les gars

  13. #13
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    je vous tiendrais au courant du resultat du test

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 815
    Points
    815
    Par défaut
    Bonjour,

    J'ai testé sur WD16.
    Intercepter les événements de notification sur "*.*" ne donne rien.

    J'ai inspecté les fenêtre du bureau avec l'utilitaire spy++ et j'ai constaté qu'il y a une fenêtre cachée de 1er niveau (c'est à dire directement rattachée à la fenêtre Desktop) mais de même processus et même thread que l'application, et dont la classe de fenêtre est "_WD_BARRETACHE_".

    J'imagine que c'est vers elle que les événements de notification sont envoyés.
    Pour voir passer toutes les notifications, il faut :
    (1) rechercher le handle de la fenêtre, puis
    (2) créer un Hook sur cette fenêtre, dans lequel les notifications seront analysées.

    Pour le principe du Hook, cf. les contributions du forum:
    "Windev : Intercepter un évènement Windows : La souris"
    http://www.developpez.net/forums/d94...indows-souris/

    Effectivement, ce n'est pas encore gagné
    mais ça semble faisable.


  15. #15
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Le hook semble tres prometteur .. jai hooké ma fenetre et du coup je capture les "messages" de windows pour tou click souris, etc .. mais du coup avec ce code

    API(USER32, "RegisterWindowMessageA", "WDBALLOON_CALLBACK_MSG")

    jarrive pas a capturer les messages quand je survol la bulle avec la souris , ni quand je clique sur la souris.

    Jai aussi esseyé avec :

    API(USER32, "RegisterWindowMessageA", "*.*")

    Du coup je pense que le constant n'est pas correcte .. je fouine sur les forums pour avoir les constants de la bulle en ce moment.

    Merci onepoint, avec ta solution je me sens pres du but

Discussions similaires

  1. mettre une appli en icone dans la barre des taches
    Par oeil de nuit dans le forum Windows
    Réponses: 10
    Dernier message: 14/08/2006, 13h43
  2. Creation d'une icon dans la barre des taches
    Par Janitrix dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 22/12/2005, 22h36
  3. icone dans la barre des taches
    Par Tafid dans le forum Windows
    Réponses: 5
    Dernier message: 07/11/2005, 14h17
  4. Création de fenêtres sans icone dans la barre des taches
    Par bruce_will dans le forum Windows
    Réponses: 2
    Dernier message: 06/12/2004, 04h29
  5. Pb icone dans la barre des taches
    Par lbailler dans le forum Access
    Réponses: 4
    Dernier message: 12/11/2004, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo