wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 3

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Créer des Panels dans une boucle For ?
Conversation : Créer des Panels dans une boucle For ?
24-04-2009 11:58:34  Créer des Panels dans une boucle For ? #1
Ethane (Nouveau membre)
Inscrit le : 07-04-2009
Messages: 8
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour à tous,

Je vais vous présenter un cas similaire de ce que j'essaie de faire, pour simplifier la chose.

J'ai un NoteBook qui contient un onglet. Dans celui-ci, une RadioBox contient des valeurs de 1 à 9.
A la sélection d'un chiffre, je souhaiterais que soient créés, dans mon NoteBook, autant de Panels que mentionné.

Pour ce faire, je dois utiliser une boucle For, qui va donc boucler sur la valeur renseignée par la RadioBox.
Je voudrais que mes Panels prennent les noms NameOfPanel1, NameOfPanel2, ...
Mais comment faire alors pour le spécifier dans ma boucle, en utilisant l'itération ? (Sachant que "new wxPanel" requiert un "WxPanel", et que je souhaiterais concaténer la valeur de i avec la chaîne de caractères "NameOfPanel".)

Dans l'idée quelque chose comme ça :

Code Cpp:

for(i=0; i<ValueOfRadioBox; i++)
    {
        NameOfPanel[i] = new wxPanel(Notebook, wxID_ANY, wxPoint(412,8), wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL4"));
        Notebook->AddPage(NameOfPanel[i], "Test", false);
    }

La question est donc, comment définir NameOfPanel[i] ?

Un grand merci d'avance !

Olivier.
24-04-2009 12:04:34  Re: Créer des Panels dans une boucle For ? #2
cfdev (Membre)
Lieu: Alpes de Haut Provence
Inscrit le : 08-11-2007
Messages: 127
Snippets: 4
Tutoriels: 0
Site web
Hors ligne
En faisant ça NameOfPanel[i] est un tableau d'objets wxpanel

GNU Linux Power !
Slacker
24-04-2009 13:27:15  Re: Créer des Panels dans une boucle For ? #3
Ethane (Nouveau membre)
Inscrit le : 07-04-2009
Messages: 8
Snippets: 0
Tutoriels: 0
Hors ligne
Merci cfdev pour ta réponse.
Le problème que j'avais en définissant un tableau de WxPanel :

Code wxWidgets:

wxPanel* PanelPartition[10];
PanelPartition[1]="PanelPartition1";
PanelPartition[2]="PanelPartition2";


Code:

error: cannot convert `const char[16]' to `wxPanel*' in assignment
error: cannot convert `const char[16]' to `wxPanel*' in assignment


Ou

Code wxWidgets:

wxPanel PanelPartition[10];
PanelPartition[1]="PanelPartition1";
PanelPartition[2]="PanelPartition2";


Code:

error: no match for 'operator=' in 'PanelPartition[1] = "PanelPartition1"'
error: no match for 'operator=' in 'PanelPartition[2] = "PanelPartition2"'
24-04-2009 14:57:55  Re: Créer des Panels dans une boucle For ? #4
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Avec un tableau, le but n'est pas de stocker le nom du wxPanel, mais le pointeur qui lui est associé :

Code wxWidgets:

wxPanel* PanelPartition[10];
// ...
for(i=0; i<ValueOfRadioBox; i++)
{
    PanelPartition[i] = new wxPanel(Notebook, wxID_ANY, wxPoint(412,8), wxDefaultSize, wxTAB_TRAVERSAL);
    Notebook->AddPage(PanelPartition[i], wxString::Format(_T("Panel #%0d"),i), false);
}


@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
24-04-2009 14:59:09  Re: Créer des Panels dans une boucle For ? #5
cfdev (Membre)
Lieu: Alpes de Haut Provence
Inscrit le : 08-11-2007
Messages: 127
Snippets: 4
Tutoriels: 0
Site web
Hors ligne
bon grillé :lol:

GNU Linux Power !
Slacker
24-04-2009 15:00:47  Re: Créer des Panels dans une boucle For ? #6
Ethane (Nouveau membre)
Inscrit le : 07-04-2009
Messages: 8
Snippets: 0
Tutoriels: 0
Hors ligne
Merci beaucoup Xaviou !
Merci cfdev encore une fois aussi.
Une lacune de moins à combler...

Dernière modification par Ethane (24-04-2009 15:01:22)

29-04-2009 20:09:17  Re: Créer des Panels dans une boucle For ? #7
congelli501 (Membre)
Inscrit le : 08-06-2008
Messages: 46
Snippets: 0
Tutoriels: 0
Site web
Hors ligne
Si le nombre de panel change à chaque fois, il faut utiliser un std::vector. PS : les tableaux commence à 0 !

Mes programmes open sources !
On dit que la Grèce antique beaucoup d'influence sur notre culture... C'est vrai : la chute d'Athènes a eu lieu en 404 avant JC. Ca vous rappelle quelque chose ?
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Créer des Panels dans une boucle For ?