salve a tutti. sto facendo un programmino e non ne vengo fuori. quando vado per prendere la stringa selezionata in una listbox non riesce a prenderla. vi allego il codice:
e qui lo screen di come è fatta la finestracodice:BOOL CALLBACK DialogProc3( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam ) { int iIndex, iLength; TCHAR *pVarName, *pVarValue; switch(uMsg) { HANDLE_MSG(hwndDlg,WM_CLOSE,OnDlgClose); case WM_INITDIALOG: scrivilista(hwndDlg); return TRUE; case WM_COMMAND: if (LOWORD (wParam) == IDOK) { SetFocus(hwndDlg); iIndex= SendMessage(hwndDlg, LB_GETCURSEL,0,0); iLength= SendMessage(hwndDlg, LB_GETTEXTLEN,iIndex,0); pVarName=calloc (iLength,sizeof(TCHAR)); SendMessage(hwndDlg, LB_GETTEXT, iIndex, (LPARAM)pVarName); iLength = GetEnvironmentVariable (pVarName, NULL, 0) ; pVarValue = calloc (iLength, sizeof (TCHAR)) ; GetEnvironmentVariable (pVarName, pVarValue, iLength) ; FILE* note=fopen("nome.txt","w"); //vedo cosa prende fprintf(note,"%s\n%s\n%d\n%d",pVarValue,pVarName,iIndex,iLength); //da sempre 0 per iIndex e i Length fclose(note); //e vuoto per le stringhe OnDlgClose(hwndDlg); open++; CreateDialogParam(0,"Dialog2",0,DialogProc5,0); } } return FALSE; }
grazie a chiunque cerca di aiutarmi


Rispondi quotando
