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

Langage Delphi Discussion :

Masquer l'icone de la barre des taches


Sujet :

Langage Delphi

  1. #1
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut Masquer l'icone de la barre des taches
    Bonjour,


    Avec Delphi2007, j'ai une appli avec un TTrayIcon.
    J'ai masqué le bouton de la barre des taches avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShowWindow(Application.Handle, SW_HIDE);
    Mais dès que je minimise l'appli, le bouton réapparaît.
    Comment faire pour qu'il soit invisible même quand l'appli est minimisée, pour que seul l'icone du systray soit visible ?

    Merci.

  2. #2
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Le mieux est de supprimer la fenêtre secrète de Delphi. Pour ça tu utilises cette unité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    unit NoSecretWindow;
     
    interface
     
    implementation
     
    initialization
      IsLibrary := True;
    end.
    Et tu l'ajoutes en tout premier, avant Forms, dans les uses de ton programme.

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 878
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 878
    Points : 15 310
    Points
    15 310
    Par défaut
    Salut !
    Je voudrais pas mourir idiot,
    Citation Envoyé par sjrd Voir le message
    Le mieux est de supprimer la fenêtre secrète de Delphi.
    c'est quoi, ça : fenêtre secrète ?
    Merci,
    --
    jp

  4. #4
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    C'est une fenêtre créée en interne par l'objet Application, qui s'occupe de centraliser les messages, et aussi de présenter à Windows la barre de titre. Si elle n'existe pas, Windows prendra la vraie fenêtre que tu as créée comme fenêtre principale.

    Pour la supprimer, on fait croire à TApplication qu'on est dans une DLL.

  5. #5
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 878
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 878
    Points : 15 310
    Points
    15 310
    Par défaut
    Merci !
    --
    jp

  6. #6
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 878
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 878
    Points : 15 310
    Points
    15 310
    Par défaut
    Bon,
    je ne suis pas l'auteur de la question, mais le sujet m'intéresse et j'ai un projet construit un peu pareil ;
    dans le .dpr :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ShowMainForm := False;
    dans la MainForm, au FormCreate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MainForm.Visible := False;
    au FormShow :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      ShowWindow(Application.Handle, SW_HIDE); // caché dans barre des tâches
      SetForegroundWindow(Application.Handle);
    et enfin au clic gauche sur la petite icône (un coup j'te vois un coup j'te vois pas) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    case Msg.LParam of
        WM_LBUTTONDOWN :  MainForm.Visible := not MainForm.Visible;
        ...
    Et donc, après avoir scrupuleusement suivi les instructions concernant cette fenêtre secrète, ben c'est pareil, , au minimize le bouton apparaît dans la barre des tâches.

    Une idée (autre que mettre biMinimize à False ) ?
    --
    jp

  7. #7
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Oui j'ai essayé aussi mais ça ne change RIEN !
    Le seul moyen que j'ai trouvé est d'utiliser un TNotifyIcon au lieu de TTrayIcon.

    @+

  8. #8
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 878
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 878
    Points : 15 310
    Points
    15 310
    Par défaut
    Salut !
    Citation Envoyé par SLE Voir le message
    Le seul moyen que j'ai trouvé est d'utiliser un TNotifyIcon au lieu de TTrayIcon.
    Ah, je crois qu'un ch'tit bout de code serait le bienvenu, là,

    Merci,
    --
    jp

  9. #9
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Un exemple de code ici

  10. #10
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 878
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 878
    Points : 15 310
    Points
    15 310
    Par défaut
    Salut,

    Et merci de ta réponse.
    Le seul souci c'est que tu écris que tu t'en es sorti avec TNofifyIcon au lieu de TTrayIcon, et que le lien que tu postes pointe sur un TTrayIcon...
    Quelque chose m'échappe, là,
    --
    jp

  11. #11
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Ce n'est pas parce que la classe s'appelle TTrayIcon qu'il s'agit du compo TrayIcon.

    Sinon va voir aussi ici

+ Répondre à la discussion
Cette discussion est résolue.

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