List Box

blackboy

Grünschnabel
Hallo

Also ich lade den Inhalt aus einem Textfile in eine Listbox...
jetzt möchte ich das beim starten des programmes, der oberste eintrag schon ausgewählt ist.. normalerweise ist ja kein eintrag ausgewählt...

gibt es da ein befehl ?

danke
 
Geht leider nicht... Mein problem ist, ich arbeite ein einem bereits vorhandenen Code.. ich kann keine Liste über die Memberfunktion ansprechen.. um den wert des ausgewählten Listeneintrags zu ermitteln brauche ich folgenden code
sel=SendMessage(GetDlgItem(hdlg,IDC_LIST1),LB_GETCURSEL,0,0);
jetzt müsste ich ebenfalls einen solchen code haben um die default auswahl zu setzen *seufz*..
 
Also ich habe das früher immer mit

Listbox * test = CDialog::GetDlgItem(...);

test->setcursel(0);


gemacht.

Also erst einen Listboxpointer holen, den speichern und dann mit dem Pointer agieren. Sollte eigendlich gehen.

Quellcode oben ist nur als Verständnisbeispiel, kein Codebeispiel !
 
Also ich habe jetzt folgenden Code eingefügt

Code:
Listbox * test = CDialog::GetDlgItem(hdlg,IDC_LIST2); 
test->SetCurSel(0);

nun bekomme ich folgende fehlermeldungen

Code:
 'test' : undeclared identifier
'Listbox' : undeclared identifier
'GetDlgItem' : none of the 2 overloads can convert parameter 1 from type 'struct HWND__ *'
left of '->SetCurSel' must point to class/struct/union
 
Du solltest
Code:
CDialog * pDlg;
 CListBox * ptest = CWnd::GetDlgItem(IDC_LIST2, pDlg);
nehmen. Den Typ Listbox kennen die MFC nicht.Die Funktion CWnd::GetDlgItem(...)hat als ersten Parameter die ID des Controls, als 2. optionalen Parameter einen Zeiger auf den Dialog.
Die globale Funktion ::GetDlgItem(...) nimmt als ersten Parameter ein Handle auf das Fenster, liefert aber auch ein Handle zurück und keinen Pointer. Das sähe dann so aus:
Code:
HWND hwndList = ::GetDlgItem(hwndDlg, IDC_LIST2);
Wie Du dann allerdings vom Handle einen Pointer kriegst, weiß ich jetzt auch nicht, aber evtl. ja jemand Anderes.
 
Zurück