Trouver une ressource (Nouvelle version du moteur, plus rapide & pertinent, essayez le !)
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : boite de dialogue et tableau [ Archives / Au secours ] (sacksith)
|
boite de dialogue et tableau
le 01/03/2004 16:59:39

sacksith
|
Bonjour, Je n'arrive pas à afficher un tableau dans une boite de dialogue déclarée par createdialog et utilisant un fichier ressource .rc Bon j'arrive à créer cette fenêtre mais comment afficher le contenu d'un vector <vector <int> > montableau ? Si vous avez des pistes, merci bcq. sack
|
|
|
|
Re : boite de dialogue et tableau
le 01/03/2004 17:25:16

BruNews
(Admin CS)
|
Pourquoi n'utilises-tu pas DialogBoxParam en place de CreateDialog ???
'afficher', qu'est-ce a dire ??? Faudrait voir dans quel element tu veux afficher, EDIT, LISTBOX...
ciao... BruNews, Admin CS, MVP Visual C++
|
|
|
|
Re : boite de dialogue et tableau
le 01/03/2004 18:51:36

sacksith
|
Excuse-moi, je pensais plutôt d'une dialogbox. Donc, oui, l'utilisation d'une dialogBoxParam n'est pas contre indiqué. Quant à l'élément, cela n'a pas vraiment d'importance. C'est au mieux.
C'est pour afficher un tableau de type vector <vector <int> > Montableau
tel que l'utilsateur puisse voir ceci :
00000000000000000 11100221000564440 00658400000244500 01120200110540004 etc.
dom
|
|
|
|
Re : boite de dialogue et tableau
le 01/03/2004 19:16:30

BruNews
(Admin CS)
|
Pour le maniement de vector et autre bidule stl, a toi de voir. Exemple avec simple tableau, tu transposeras.
int vect[10], i; HWHD hlst; // une listbox sur ta dialogbox char buff[12]; for(i = 0; i < 10; i++) { itoa(vect[i], buff, 10); SendMessage(hlst, LB_ADDSTRING, 0, buff); }
ciao... BruNews, Admin CS, MVP Visual C++
|
|
|
|
Re : boite de dialogue et tableau
le 02/03/2004 18:57:44

sacksith
|
Bonjour,
ça ne marche pas :( voici le code que j'ai utilisé : avec hDlg handle de la boite de dialog et IDC_DEBUGED l'identificateur d'un élément listbox
//SetDlgItemInt(hDlg, IDC_DEBUGED, grilleCarte.size(), false); for (unsigned y=0; y<grilleCarte.size(); y++) { for (unsigned x=0; x<grilleCarte[y].size(); x++) { itoa(grilleCarte[y][x], cbuff, 10); SendMessage(hDlg, grilleCarte[y][x], 0, 0); } //SetDlgItemInt(hDlg, IDC_DEBUGED, '\n', false); }
J'ai bien recupéré la taille du tableau. J'ai aussi essayé de remplacer la listbox par un edit boxe et le SendMessage par un : SetDlgItemInt(hDlg, IDC_DEBUGED, grilleCarte[y][x], false); ou encore par : SetDlgItemText(hDlg, IDC_DEBUGED, cbuff);
Et toujours rien. dom
|
|
|
|
Re : boite de dialogue et tableau
le 02/03/2004 19:36:03

BruNews
(Admin CS)
|
Je t'ai deja mis la syntaxe dans le post precedent.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
|
|
Re : boite de dialogue et tableau
le 02/03/2004 19:48:26

sacksith
|
Fais tu référence à ceci :
SendMessage(hDlg, LB_ADDSTRING, 0, cbuff);
J'ai alors un erreur de compilation me disant qu'il n'est pas possible de convertir un char en long
Error E2034 srv12.main.cpp 385: Cannot convert 'char *' to 'long' in function __stdcall LCDebug(HWND__ *,unsigned int,unsigned int,long) Error E2342 srv12.main.cpp 385: Type mismatch in parameter 'lParam' (wanted 'long', got 'char *') in function __stdcall LCDebug(HWND__ *,unsigned int,unsigned int,long)
En vérifiant sur l'aide de Microsoft SendMessage à cette structure : LRESULT SendMessage( HWND hWnd, // handle of destination window UINT Msg, // message to send WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); D'où la tentative de modif présentée dans le post précédent. Est-ce une erreur de syntaxe ? de mauvaise utilisation ? dom
|
|
|
|
Re : boite de dialogue et tableau
le 02/03/2004 19:55:50

BruNews
(Admin CS)
|
SendMessage(hDlg, LB_ADDSTRING, 0, cbuff); Mais enfin, tu veux bien faire attention a ce que j'ecris !!! Tu envoies un message a la fenetre mere, elle se fout du LB_ADDSTRING, le message doit etre pour la listbox.
SendMessage(hlst, LB_ADDSTRING, 0, (long) buff); voila qui est bon. J'avais oublie de taper le cast (long), tu aurais pu t'en rendre compte.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
|
Classé sous : arrive, afficher, tableau, boite, dialogue
|
CalendriCode
| | | L | M | M | J | V | S | D |
| | 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 | | | |
|
Téléchargements
Logiciels à télécharger sur le même thème :
|