Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [c win32] avere il nome nella listbox

    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:
    codice:
    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;
    }
    e qui lo screen di come è fatta la finestra

    grazie a chiunque cerca di aiutarmi

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Nel tuo codice non c'e' nessun riferimento alla IDC_LIST1 ...

    Puoi usare la

    SendDlgItemMessage

    per accedere alla listbox.
    Ad esempio,

    iIndex = SendDlgItemMessage(hWndDlg, IDC_LIST1, LB_GETCURSEL, 0, 0);

    oppure usi la

    GetDlgItem con la SendMessage

    ad esempio

    iIndex = SendMessage(GetDlgItem(hWndDlg, IDC_LIST1), LB_GETCURSEL, 0, 0);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Ripper_92
    grazie ora va!
    Pergo ... spero tu abbia compreso l'errore che commettevi (non dialogavi con la listbox ...)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    si lo sapevo, però non sapevo dove andava messo! :master:

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.