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 :

Faire un "vrai" Minimized de ma fenetre


Sujet :

C++Builder

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Par défaut Faire un "vrai" Minimized de ma fenetre
    Bonjour,

    Comme le dis le titre, je souhaite faire un Minimized de ma fenetre principale (identique à l'action du bouton Minimize en haut à droite de ma fenetre). C'est a dire : disparition de la fenêtre, mais que l'application reste presente dans la barre de tache pour une éventuelle maximisation. Simple Non !

    Si j'utilise la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form1->WindowState = wsMinimized ;
    La fenêtre ne se minimise pas totalement. Il me reste une barre au dessus de la barre de tâche.

    Si j'utilise la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form1->Visible = false ;
    Dans ce cas je n'ai plus l'appli dans la barre de tâche.

    C'est pourtant simple ce que je veux faire , bon sang!!

    Merci pour votre aide.

  2. #2
    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,

    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application->Minimize();
    Ca devrait faire ce que tu cherches

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Par défaut Merci
    Si simple une fois que l'on a la réponse !!!

    Merci pour ton aide

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Par défaut En complement: comment faire l'inverse sur événement
    Bonjour,

    la fonction Minimize fonctionne bien (même un peu trop !)

    Comment faire pour restaurer ma fenetre sur un évenement (timer par exemple).

    si je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form1->WindowState = wsNormal;
    alors que ma fenetre est en minimise suite à un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application->Minimize();
    rien ne se passe. En fait WindowState reste à wsNormal pendant le minimize.
    Je peux contourner le pb en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form1->WindowState = wsMinimized;
    Form1->WindowState = wsNormal
    mais cela n'est pas trés propre et en plus la fenetre apparait en provenant du coin bas gauche. Pas terrible.
    En plus, une fois la fenetre restaurée, le bouton minimise n'est plus opérationnel.

    Quelle est la bonne méthode pour gérer le Minimize et la restauration en taille normal sur un évenement ??

  5. #5
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Application->Restore() ;
    non ?

  6. #6
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut
    Je pense que la fonction te sera utile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Restaure à sa taille normale une application réduite.
     
    void __fastcall Restore(void);
     
    Description
     
    Utilisez Restore pour restaurer l'application à la taille qu'elle avait quand elle a été réduite. Quand l'utilisateur restaure l'application à sa taille normale, Restore est appelée automatiquement.
     
    Remarque :	Ne confondez pas la méthode Restore (qui restaure l'application entière) et la restauration d'une fiche ou d'une fenêtre à sa taille initiale. Pour réduire, agrandir et restaurer une fenêtre ou une fiche, modifiez la valeur de sa propriété WindowState.
    Donc, le code sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application->Restore() ;
    Edit : Pottiez dégaine plus vite que moi

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Par défaut Résolu : Merci
    Merci au 2 lucky luke qui degainent plus vite...

    Fonctionne bien avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application->Restore() ;

  8. #8
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Un conseille pour la suite de tes developpement, si tu fait une action sur ton application (avec une simple fonction) et que tu veut aussi l'inverse, généralement tu trouvera la fonction inverse dans la même classe, ici Minimize qui est dans la classe Application, trouve sont inverse en Restore qui est également dans la classe Application.
    Ceci est une idée qui ne se verifie pourtant pas toujours mais qui peut etre un point de départ pour trouver ce que l'on cherche .

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Par défaut Merci pour ton aide
    J'avais pourtant regardé l'aide sur la fonction Minimize de la classe TApplication avant ma demande d'aide, mais j'avais mal interprété la remarque dans l'aide :
    Réduit l'application en icône sur la barre des tâches de Windows.

    void __fastcall Minimize(void);

    Description

    Appelez Minimize pour réduire l'application. Si l'utilisateur réduit l'application, la méthode Minimize est appelée automatiquement.

    Remarque*: Ne confondez pas la méthode Minimize, qui réduit une application entière, et la réduction d'une fiche ou d'une fenêtre. Pour réduire, agrandir et restaurer une fenêtre ou une fiche, modifiez la valeur de sa propriété WindowState.
    Ceci dit, il est dommage que la fonction inverse ne soit pas donné plus clairement. Il faut se palucher toute les méthodes pour trouver la bonne.

    Encore merci pour ton aide.

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

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