Roro8883
Messages postés70Date d'inscriptionmardi 25 février 2003StatutMembreDernière intervention 1 février 2008
-
24 nov. 2007 à 14:54
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 2008
-
24 nov. 2007 à 15:48
Bojour à tous !
J'ai commencé à coder une application utilisant wxWidget :
class Application : public wxApp
{
public:
virtual bool OnInit();
};
class Fenetre : public wxFrame
{
public:
Fenetre(const wxString& titre, const wxPoint& position, const wxSize& taille, long style = wxDEFAULT_FRAME_STYLE);
bool modif_fenetre_principale ();
...
};
Donc je crée mes éléments (boutons, ...) avec des :
wxButton* button = new wxButton(this, ID_BUTTON, "Ajouter", wxDefaultPosition, wxDefaultSize, 0);
sizer_gauche->Add(button, 0, wxALL|wxALIGN_CENTER, 5);
dans le constructeur 'Fenetre' (appelé dans OnInit).
Le problème c'est que dans ce OnInit, après avoir créé un "Fenetre *fenetre = new Fenetre", c'est que j'appelle la fonction modif_fenetre_principale.
Et dans celle-ci j'aimerais changer par exemple la police de quelques zones de texte ...
Le problème c'est que quand j'utilise un truc du genre "text_titre->SetFont(wxFont(12, wxBOLD, wxNORMAL, wxNORMAL));", j'ai un problème du compilateur comme quoi text_titre n'est pas défini !
Je comprend pas parce que normalement (enfin je crois) quand on déclare une variable avec new, on peut l'appeler de n'importe où après (jusqu'à ce qu'il y ait un delete), non ???
Pourquoi je ne peux pas accéder à text_titre (dans l'exemple) ???
Comment faire ???
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 24 nov. 2007 à 15:27
Oulala, tu crois mal, tu confonds "portée" et "durée de vie" d'une variable. Ca n'a rien avoir.
Donc:
"Je comprend pas parce que normalement (enfin je crois) quand on déclare
une variable avec new, on peut l'appeler de n'importe où après (jusqu'à
ce qu'il y ait un delete), non ???" => Non, tu ne peux pas.