 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Anis Refoufi Guest
|
Posted: Mon Jul 14, 2003 6:58 pm Post subject: pbm mfc & CComboBox |
|
|
Bonjour , je creer une combobox dans mon dialogue puis je lui associe une
variable dans ma classe CDialog, je fais un appel à la méthode AddString
dans la fonction OnInitDialog()
Ca donne un truc du genre :
cb.AddString("Test");
Cela ne fonctionne pas !!!
pourtant en deboguant : on doit obtenir en retour un index si tout se passe
bien sur la position du string , j'ai bien ces index !!!!
Merci de vos lumières.
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
Posted: Mon Jul 14, 2003 7:16 pm Post subject: Re: pbm mfc & CComboBox |
|
|
On Mon, 14 Jul 2003 20:58:43 +0200, "Anis Refoufi"
<anis.refoufi (AT) libertysurf (DOT) fr> wrote:
| Quote: | pbm mfc & CComboBox
cb.AddString("Test");
|
A priori, le bon groupe pour parler de Windows est
fr.comp.os.ms-windows.programmation.
Toutefois, étant donné le problème et les quelques aperçus que j'ai eu
des spécifications délirantes des MFC, il y a des chances pour que la
fonction "AddString()" ne fasse pas de copie de la chaîne qu'on lui
passe. Ainsi, si tu écris :
void MaClasse::f()
{
char buf[]= "Hello World!";
cb.AddString (buf);
}
l'appel de AddString() fonctionne parfaitement, mais entre ce moment
et le moment où ton contrôle est effectivement affiché, on est sorti
de la fonction f(), et donc la variable "buf" n'existe plus.
Pour vérifier si c'est bien ça, essaie le code suivant :
void MaClasse::f()
{
static char buf[]= "Hello World!";
cb.AddString (buf);
}
Dans ce cas précis, la variable "buf" n'est pas détruite à la sortie
de la fonction.
Si ça ne marche toujours pas, ton problème n'est pas lié au C++ ; cf
fr.comp.os.ms-windows.programmation.
Si au contraire cette fois ça marche, ça signifie qu'il te faut
stocker toi-même les chaînes de caractères, par exemple sous la forme
d'un std::vector<std::string> comme membre de ta classe.
NB : pour passer un std::string à AddString(), il suffit de passer par
la fonction c_str() :
std::string chaine= ...;
cb.AddString (chaine.c_str());
--
Tout sur fr.* (FAQ, etc.) : http://www.usenet-fr.net/fur/
et http://www.aminautes.org/forums/serveurs/tablefr.html
Archives : http://groups.google.com/advanced_group_search
http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html
|
|
| Back to top |
|
 |
Anis Refoufi Guest
|
Posted: Tue Jul 15, 2003 5:13 pm Post subject: Re: pbm mfc & CComboBox |
|
|
j'ai trouvé le pbm c'est un bug de visual studio en fait il suffisait de
draguer une fenetre invisible dans l'ide de maniere a ce que le drop down
list soit plus grand que 1 pixel (taille de la hauteur par defaut non
modifiable par 1 setItemHeight par exemple)
Merci qd meme pour la réponse.
;)
"Anis Refoufi" <anis.refoufi (AT) libertysurf (DOT) fr> a écrit dans le message de
news: beuugc$r6i$1 (AT) news (DOT) tiscali.fr...
| Quote: | Bonjour , je creer une combobox dans mon dialogue puis je lui associe une
variable dans ma classe CDialog, je fais un appel à la méthode AddString
dans la fonction OnInitDialog()
Ca donne un truc du genre :
cb.AddString("Test");
Cela ne fonctionne pas !!!
pourtant en deboguant : on doit obtenir en retour un index si tout se
passe
bien sur la position du string , j'ai bien ces index !!!!
Merci de vos lumières.
|
|
|
| Back to top |
|
 |
Fabien LE LEZ Guest
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|