begin process at 2008 07 05 23:55:13
1 205 401 membres
368 nouveaux aujourd'hui
14 119 membres club

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

Participer à cet échange

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS