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 :

Probleme avec un Pannel et ComboBox


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 31
    Points : 24
    Points
    24
    Par défaut Probleme avec un Pannel et ComboBox
    Bonjour,

    Voila mon probleme je veux ajuster la taille d'un ComboBox a l'ouverture puis remettre sa taille initiale a la fermeture:

    Si le ComboBox est pose directement sur le TForm cela fonctionne,
    par contre si je le pose sur un Pannel, cela ne fonctionne plus, n'etant pas tres familie avec tous ca comment faire?
    Voici le code:
    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
     
    //A l'ouverture j'agrandi le ComboBox
    void __fastcall TF_Saisie::CB_ManipulationDropDown(TObject *Sender)
    {
        CB_Manipulation->Width = 350;
    }
    //---------------------------------------------------------------------------
     
    //Ici je suis sense intercepter le message de fermeture du ComboBox
    void __fastcall TF_Saisie::WndProc(TMessage& Message)
    {
        if (Message.Msg == WM_COMMAND)
        {
            HWND hComboBox = (HWND) Message.LParam;
     
            if (hComboBox == CB_Manipulation->Handle)
            {
                CB_Manipulation->Width = OriginalWidth;
            }
        }
        TForm::WndProc(Message);
    }
    Une idee???

    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    Si ca peux eclairer quelqu'un je cherche a recupere le WM_COMMAND dans un child Window(Panel)
    J'y connais rien en API Windows

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    Bon j'en ai *bavé* mais voila la procedure a suivre:

    Alors dans TForm1.h rajouter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private:
        TWndMethod FOriginalProc; //On sauvegarde l'origine de la fonction Panel->WindowProc
     
    public:
        void __fastcall NewWndProc(TMessage& Message);
    dans TForm1.cpp rajouter:
    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
    __fastcall TForm1::TForm1(TComponent* Owner)
    {
        //On enregistre la valeur initial la fonction WindowProc du Panel
        //Puis on lui assigne notre fonction NewWndProc
        FOriginalProc = Panel->WindowProc;
        Panel->WindowProc = NewWndProc;
    }
     
    __fastcall TForm1::~TForm1()
    {
        //On remet la valeur d'origine de la fonction WindowProc du Panel
        Panel->WindowProc = FOriginalProc
    }
     
    void __fastcall TForm1::NewWndProc(TMessage& Message);
    {
        //On fait les traitements
        if (Message.Msg == WM_COMMAND)
       {
            //...
       }
       //et pour finir
       FOriginalProc(Message);
    }
    [Modération, Alacazam : Prière de garder un langage correct, merci]

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/06/2006, 19h45
  2. [c#]Nouveau probleme avec dataset et combobox
    Par misa dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/05/2006, 10h37
  3. probleme avec une combobox
    Par el_quincho dans le forum IHM
    Réponses: 1
    Dernier message: 09/02/2006, 16h14
  4. [VB.NET] Probleme avec ComboBox
    Par Aspic dans le forum VB.NET
    Réponses: 5
    Dernier message: 20/11/2005, 12h37
  5. [FLASH MX2004] Probleme avec un combobox
    Par pierrot10 dans le forum Flash
    Réponses: 3
    Dernier message: 28/10/2005, 17h35

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