IceTeaPeche a écrit :
Rebonjour tous,
je vous jure que cette fois y aura pas de code moche
mon probleme est simple, j'ai fait fonction qui saisie la string entrée dans une boite de dialogue dans une variable globale char TempString[20]. J'aimerai en fait que cette chaine finisse dans un tableau qui est declaré dans la fonction main et non pas en global. Le probleme c'est que j'ai essayé de passer mon tableau en argument de ma fonction DlgProc mais ca ne marche pas, je ne sais pas a quel niveau ; des que je rentre dans le gestionnaire de messages de la boite de dialogue l'adresse du tableau change... Je vous mets juste un extrait de code :
Code :
- char Nom[20];
- void GetName(char Nom[])
- {
- hDlg=CreateDialog(hInstance,(LPCTSTR)ID_NAME,NULL,(DLGPROC)GetNameProc);
- SetFocus(hDlg);
- }
- BOOL CALLBACK GetNameProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam, char Nom[])
- {
- switch (message)
- {
- case WM_COMMAND:
- switch (LOWORD(wParam))
- {
- case IDOK:
- if(GetDlgItemText(hDlg, IDC_NAME,TempString, 20))
- {
- for (i=0;i<20;i++)
- {
- Nom[i]= TempString[i];
- }
- }
- case IDCANCEL:
- EndDialog(hDlg, wParam);
- SetFocus(hWnd);
- return TRUE;
- }
- }
- return FALSE;
- }
|
Voila j'espere que c'est pas trop crade et que vous pourrez m'aider.
Merci
|