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

wxWidgets Discussion :

Obtenir la fenêtre parent


Sujet :

wxWidgets

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 63
    Par défaut Obtenir la fenêtre parent
    Bonjour,
    Mon problème est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SettingsPanel(wxWindow* parent/*, MyFrame* frame, */,int toolId)
                   : wxPanel(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize)
      {
    J'ai une classe SettingsPanel avec le constructeur ci-dessus. J'ai mis en commentaire MyFrame parce que je ne peux pas l'utiliser explicitement dans cette classe. J'en ai pourtant besoin...j'essayer avec la methode GetParent() mais rien n'y fait.
    Si quelqu'un a une idée...
    Merci

  2. #2
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par défaut
    Tu peux récursivement chercher le parent jusqu'à ta frame.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while(parent && !dynamic_cast<wxFrame*>(parent))
        parent = parent->GetParent();

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 63
    Par défaut
    C'est une bonne idée...j'ai juste oublié de préciser, que je voudrais obtenir ce résultat dans une autre méthode de cette classe...
    Si je met this->GetParent() au lieu de "parent" ça pourrait marcher?

  4. #4
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par défaut
    Oui pas de problème.
    Enfin dans ce style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    wxWindow *tFrame = this->GetParent();
    while(tFrame && !dynamic_cast<wxFrame*>(tFrame))
        tFrame = tFrame->GetParent();

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      wxWindow *tFrame = this->GetParent();
    while(tFrame && !dynamic_cast<wxFrame*>(tFrame))
        tFrame = tFrame->GetParent();
     
     tFrame->ogl[tFrame->idx_cur]->density(Slider->GetValue());
    il me sort l'erreur :
    SettingsPanel.h:81: erreur: «class wxWindow» has no member named «ogl»
    SettingsPanel.h:81: erreur: «class wxWindow» has no member named «idx_cur

    j'avais déjà eu cette erreur avec une autre méthode que j'avais appliqué...idx_cur est par exemple censé etre un integer de la classe MyFrame

  6. #6
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par défaut
    C'est logique car le type sur lequel tu travails est wxWindow !
    Et pas MyFrame.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    wxWindow *tFrame = this->GetParent();
    while(tFrame && !dynamic_cast<wxFrame*>(tFrame))
        tFrame = tFrame->GetParent();
     
     MyFrame *tMyFrame = dynamic_cast<MyFrame*>(tFrame);
     
     tMyFrame->ogl[tMyFrame->idx_cur]->density(Slider->GetValue());

Discussions similaires

  1. passer une valeur à la fenêtre parent
    Par Hinomura Yo dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/10/2005, 15h38
  2. Comment avoir des fenêtres parentes et enfants
    Par Invité dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 20/09/2005, 11h53
  3. [Javascript] Appeler une fonction d'une fenêtre parente
    Par TekP@f dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/08/2005, 11h33
  4. Valider un form et lancer le résultat ds la fenêtre parent
    Par [DreaMs] dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 23/08/2005, 17h01
  5. Fenêtre parent
    Par adelavarenne dans le forum Composants VCL
    Réponses: 9
    Dernier message: 20/10/2003, 14h44

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