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 :

wxWidgets - besoins d'aide...


Sujet :

wxWidgets

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 73
    Points : 41
    Points
    41
    Par défaut wxWidgets - besoins d'aide...
    Bonjour,

    J'ai un probleme que ne sais pas resourdre par manque de connaissance C++ ou wxWidgets.
    Par le code suivant, dans une boite de dialogue j'ai :
    -un champ de saisie de type wxTextCtrl
    -un champ d'affichage, type wxStaticText (qui devrait reprendre la valeur du wxTextCtrl)
    - Un bouton de rafraichissement

    Voici le code en un seul fichier 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
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    #include <wx/wx.h>
    class MainApp:public wxApp
    {
    public:
    virtual bool OnInit();
    };
     
    class MainWindow:public wxDialog
    {
    public:
    MainWindow(const wxString &title,const wxPoint &pos,const wxSize &size);
    DECLARE_EVENT_TABLE();
    void OnQuit(wxCloseEvent &event);
    void OnClick(wxCommandEvent &event);
    enum
        {
        ID_CLICK,
        ID_CHAMP_SAISIE
        };
    };
     
     
    IMPLEMENT_APP(MainApp)
    BEGIN_EVENT_TABLE(MainWindow,wxDialog)
        EVT_BUTTON(ID_CLICK,MainWindow::OnClick)
        EVT_CLOSE(MainWindow::OnQuit)
    END_EVENT_TABLE()
     
    bool MainApp::OnInit()
    {
    MainWindow *win=new MainWindow("boite a dialogue",wxPoint(250,300),wxSize(350,250));
    win->Show(true);
    SetTopWindow(win);
    return true;
    }
     
    MainWindow::MainWindow(const wxString &title,const wxPoint &pos,const wxSize &size)
    :wxDialog((wxDialog *)NULL,-1,title,pos,size,wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxTHICK_FRAME)
    {
    //etape 1
    wxTextCtrl *champ=new wxTextCtrl(this,-1,"Entrer du texte ici");
    wxBoxSizer *cadrepcp=new wxBoxSizer(wxVERTICAL);
    wxFlexGridSizer *cadreflex=new wxFlexGridSizer(1,2,10,10);
    cadreflex->Add(new wxStaticText(this,-1,"Champ de saisie de texte : "),1);
    cadreflex->Add(champ,ID_CHAMP_SAISIE,1);
    cadrepcp->Add(cadreflex,0,wxALIGN_CENTER|wxGROW|wxALL,25);
    wxString saisie=champ->GetValue();
     
    //etape 2
    wxStaticText *statext=new wxStaticText(this,0,saisie);
    wxStaticBox *statbx=new wxStaticBox(this,0,"Résultat");
    wxBoxSizer *cadrestatic=new wxStaticBoxSizer(statbx,wxHORIZONTAL);
    cadrestatic->Add(statext,0,wxALIGN_CENTER|wxGROW|wxALL,25);
    cadrepcp->Add(cadrestatic,0,wxALIGN_CENTER);
     
    //etape 3
    wxBoxSizer *clicksizer=new wxBoxSizer(wxHORIZONTAL);
    wxButton *clickme=new wxButton(this,ID_CLICK,"Rafraichir");
    clicksizer->Add(clickme,0,wxALIGN_CENTER|wxGROW|wxALL,25);
    cadrepcp->Add(clicksizer,0,wxALIGN_CENTER);
     
    SetSizer(cadrepcp);
    SetAutoLayout(true);
    Layout();
    }
     
    void MainWindow::OnClick(wxCommandEvent &event)
    {
    this->Refresh();
    }
     
    void MainWindow::OnQuit(wxCloseEvent &event)
    {
    this->Destroy();
    }
    comment reprendre la valeur du champ de saisie pour l'afficher ou comment rafraichir les données de la fenetre ??

    Merci de votre aide

  2. #2
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 514
    Points
    6 514
    Par défaut
    Dans ton événement onclick tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ton_texte_statique->SetLabel(ton_edit_box->GetValue());
    Evidemment tu devras pour cela déclarer tes pointeurs wxStaticText et wxTextCtrl dans le private de ta classe.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 73
    Points : 41
    Points
    41
    Par défaut
    merci beaucoup, effectivement SetLabel resoud mon probleme, même si ma StaticBox ne se redimensionne pas en fonction du texte...

    Mais ça c'est une nouvelle aventure...

    Merci encore

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

Discussions similaires

  1. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  2. Besoin d'aide avec postgresql sous windows NT
    Par Chihuahua dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/07/2003, 08h29
  3. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19
  4. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

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