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

C++Builder Discussion :

réduire un programme dans la barre des tâches en bas à droite (à coté de l'heure)


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Par défaut réduire un programme dans la barre des tâches en bas à droite (à coté de l'heure)
    bonsoir à tous en cette veille de fêtes pour nous les suisses (eh oui j'aimeuh la politique dans ces cas la...),

    comme le dit mon titre j'aimerai pouvoir réduire mon programme non pas dans la barre des tâches au milieu, mais tout à droite à coté de l'heure, msn, réseau,....

    est-ce que quelqun sait comment faire???

    merci et bonne soirée

    Mangacker

  2. #2
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut
    Salut !

    Tu trouvera un exemple pour ça dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (Dossier BCB)\Examples\Apps\TrayIcon
    Bonne chance !

  3. #3
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Tu peux également jetter un oeil sur ce post

    A+

  4. #4
    Membre éclairé Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Par défaut
    void __fastcall TForm1::TrayIcon1Restore(TObject *Sender)
    {
    TrayIcon1->Visible=false;
    TrayIcon1->Update();
    }
    je n'ai pas TrayIcon1Restore

    au cas ou j'ai BCB 2006 si le problème vient de la...

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Arf,

    Tu n'as pas l'événement OnRestore ?

    Je suis sous BCB6 ... Ca doit être du à la version du compo alors peut être

  6. #6
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Dans C++Builder 2007 il existe un composant nommé TrayIcon dans Samples, mais je ne l'ai jamais utilisé.

    PS: Je d'accord avec Interruption13h, va voir l'exemple

  7. #7
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut
    Salut !

    J'ai mis en joint l'exemple fournit avec BCB6, essaye de le compiler et le comprendre :p

    TrayIcon.zip


    A+

  8. #8
    Membre éclairé Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Par défaut
    si c'est le fichier qui se trouve dans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    C:\Programm Files\Borland\BDS\4.0\Demos\CPP\Apps\TrayIcon
    je l'ai et j'ai compris une bonne partie

    mais quand j'essaye de le refaire... ça plante

    donc j'ai essayé ça

    pour réduire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void __fastcall Tform_reveil::bu_reduireClick(TObject *Sender)
    {
    	// on minimize la form_reveil
    	Application->Minimize();
    	// on cache la form_reveil
    	form_reveil->Visible = false;
    	// on affiche la tray icon
    	tray->Visible = true;	
    }
    pour restaurer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    void __fastcall Tform_reveil::trayDblClick(TObject *Sender)
    {                                
    	// on cache la tray icon
    	tray->Visible = false;
    	// on remet visible à true pour la form_reveil
    	form_reveil->Visible = true;
    	// on l'affiche
    	Show();
    }
    et comme ça mon programme marche

    le dernier problème que j'ai c'est que avec le code pour restaurer la TForm reste réduite dans la barre des tâches.

    vous pouvez me dire comment on fait pour la restaurer completement??

    merci

  9. #9
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut,

    Sans vouloir dire de bétises, est ce que ça ne fonctionne pas un Application->Restore();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void __fastcall Tform_reveil::trayDblClick(TObject *Sender)
    {                                
    	// on cache la tray icon
    	tray->Visible = false;
    	// on remet visible à true pour la form_reveil
    	form_reveil->Visible = true;
    	// on l'affiche
    	Application->Restore();
    }

  10. #10
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut
    Re !

    L'exemple fourni avec BCB n'utilise pas le composant TTrayIcon

    Maintenant, si tu veux utiliser ce composant, je peu te faire un exemple.

    A+

  11. #11
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut
    La form contient un PopupMenu associé à un TryIcone.
    Le PopupMenu contient trois element, "Restaurer", "Minimiser" et "Quitter" :
    Unit1.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    //---------------------------------------------------------------------------
     
    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include "trayicon.h"
    #include <Menus.hpp>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published:    // Composants gérés par l'EDI
            TTrayIcon *TrayIcon1;
            TPopupMenu *PopupMenu1;
            TMenuItem *ACT_Restaurer;
            TMenuItem *ACT_Minimser;
            TMenuItem *ACT_Quitter;
            void __fastcall TrayIcon1Minimize(TObject *Sender);
            void __fastcall TrayIcon1Restore(TObject *Sender);
            void __fastcall ACT_RestaurerClick(TObject *Sender);
            void __fastcall ACT_MinimserClick(TObject *Sender);
            void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
            void __fastcall ACT_QuitterClick(TObject *Sender);
    private:    // Déclarations de l'utilisateur
    public:        // Déclarations de l'utilisateur
            __fastcall TForm1(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif
    Unit1.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma link "trayicon"
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::TrayIcon1Minimize(TObject *Sender)
    {
    //Lorsque on clique sur l'element "Minimier" du PopupMenu, 
    //cette méthode est appelée pour rendre le tryIcone visible dans la bar à côté de l'heure :
    
    TrayIcon1->Visible=true;
    ACT_Minimser->Enabled=false;
    ACT_Restaurer->Enabled=true;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::TrayIcon1Restore(TObject *Sender)
    {
    TrayIcon1->Visible=false;
    ACT_Minimser->Enabled=true;
    ACT_Restaurer->Enabled=false;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::ACT_RestaurerClick(TObject *Sender)
    {
    TrayIcon1->Restore();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::ACT_MinimserClick(TObject *Sender)
    {
    TrayIcon1->Minimize();
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
    {
    //Quand l'utilisateur essayer de fermer la fenêtre depuis la croix en haut 
    //à droite, la fermeture sera annulée, et la fenêtre sera caché et le TryIcone apparêt :
    
    CanClose=false;
    TrayIcon1->Minimize();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::ACT_QuitterClick(TObject *Sender)
    {
    //On peut dire que le seul moyen pour quitter l'application est de 
    //passer par l'action ACT_Quitter du PopuMenu :p
    
    if(MessageDlg("Voulez-vous quitter l'application ?" ,mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0)==mrYes)
            Application->Terminate();
    
    }
    //---------------------------------------------------------------------------
    A toi d'implémenter les trois actions ou tu veux..


    Espérant t'avoir aidé


    A+

  12. #12
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Citation Envoyé par Interruption13h Voir le message
    L'exemple fourni avec BCB n'utilise pas le composant TTrayIcon
    Par contre sur le site Web de CodeGear tu peux trouver un article sur le composant dans BDS 2006: http://dn.codegear.com/article/33415

    Il y a même un projet de demonstration à télécharger: http://codecentral.borland.com/item.aspx?id=23887

    En passant, avec C++Builder 2007, TTrayIcon est déclaré dans Extctrls.hpp et certaines méthodes qui se trouvent dans trayicon.h n'y figurent pas. Par exemple: Restore() et Minimize(). C'est pourquoi les liens que je mentionne plus haut sont important.

    Au lieu de TrayIcon1->Restore() ils utilisent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        for(int k = Screen->FormCount - 1; k >= 0; k--)
        {
          Screen->Forms[k]->Show();
        }
        Application->Restore();
        Application->BringToFront();

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

Discussions similaires

  1. [XL-2003] Faire apparaître le programme VBA dans la barre des tâches ?
    Par xexel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/05/2013, 12h54
  2. Réduire une fenêtre dans la barre des tâches
    Par Invité dans le forum PyQt
    Réponses: 7
    Dernier message: 10/06/2009, 04h53
  3. Réponses: 7
    Dernier message: 15/02/2006, 17h13
  4. Réponses: 7
    Dernier message: 27/10/2005, 14h24
  5. Reduire dans la barre des tâches?
    Par Zetmurin dans le forum C++Builder
    Réponses: 14
    Dernier message: 05/11/2004, 05h02

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