listbox frage, auswahl speichern
-
hallo,
ich habe eine listbox und möchte makierte elemente auslesen.
so sieht es im moment aus:
m_lb_res.GetText(m_lb_res.GetCurSel(), res);
ich hatte es auch schonmal so das ich mehrere elemente makieren konnte und alle makierten ausgelesen wurden.
habe leider den entsprechenden code vergessen.
evtl kann mir jemand auf die sprünge helfen.
vielen dank !!
-
so sieht das ganz stück aus:
int i_zeile_res; int resolution; CString res; i_zeile_res = m_lb_res.GetCurSel(); if(i_zeile_res >= 0) { m_lb_res.GetText(m_lb_res.GetCurSel(), res); resolution = atoi(res); } else { MessageBox("Es wurde keine Auflösung ausgewählt!"); }
-
Was Du suchst ist
int GetSelItems( int nMaxItems, LPINT rgIndex )
Gruß
-
ich kriege es nicht hin. hat jemand einen tipp fuer mich ??
int list = 20; // Multi selections int count = m_lb_speed[list].GetSelCount(); CArray< int,int > arrayListSel; arrayListSel.SetSize(count); // make room in array m_lb_speed[list].GetSelItems(count,arrayListSel.GetData()); // copy data to array CString str = _T(""); for( int i=0; i< count; i++ ) { CString tmp = _T(""); m_lb_speed[list].GetText( arrayListSel[i], tmp ); str += (tmp + _T(", ")); }Fehlermedlungen:
:\dokumente enterdlg.cpp(409) : error C2039: 'GetSelCount' : Ist kein Element von 'HWND__'
c:\programme\microsoft visual studio\vc98\include\windef.h(195) : Siehe Deklaration von 'HWND__'
c:\d_centerdlg.cpp(410) : error C2065: 'CArray' : nichtdeklarierter Bezeichner
c:\dokumecpp(410) : error C2062: 'int'-Typ unerwartet
c:\dokumente und einstellungen\heidenreich.krause_de\desktop\s.ludwig\dds_center\dds_centerdlg.cpp(411) : error C2065: 'arrayListSel' : nichtdeklarierter Bezeichner
c:\dokumenterdlg.cpp(411) : error C2228: Der linke Teil von '.SetSize' muss eine Klasse/Struktur/Union sein
c:\dokumendlg.cpp(412) : error C2039: 'GetSelItems' : Ist kein Element von 'HWND__'
c:\programme\microsoft visual studio\vc98\include\windef.h(195) : Siehe Deklaration von 'HWND__'
c:\dokuterdlg.cpp(412) : error C2228: Der linke Teil von '.GetData' muss eine Klasse/Struktur/Union sein
c:\dokumenterdlg.cpp(417) : error C2039: 'GetText' : Ist kein Element von 'HWND__'
c:\programme\microsoft visual studio\vc98\include\windef.h(195) : Siehe Deklaration von 'HWND__'
c:\dokumedds_centerdlg.cpp(417) : error C2109: Index benoetigt ein Feld oder einen ZeigertypALternativ habe ich das auch mal probiert. was aber auch nicht funktioniert:
char prompt[400]; char temp[20]; int items[20]; int count = m_lb_speed.GetSelCount(); m_lb_speed.GetSelItems(20, items); strcpy(prompt,""); for(int i=0; i< count; i++) { sprintf(temp,"%d|", items[i]); strcpy(prompt,temp); if(i%10==0) strcat(prompt,"\n"); } MessageBox(prompt);keine fehlermeldung , aber es geht nicht.
-
habe jetzt erstmal das gfefunden
// lstMitarbeiter ist die Listbox int nCount = m_lstMitarbeiter.GetSelCount(); if (nCount > 0) // Ist etwas ausgewählt? { // Die Indizes holen CArray<int,int> arrSel; arrSel.SetSize(nCount); m_lstMitarbeiter.GetSelItems(nCount, arrSel.GetData()); for (int i = 0; i < arrSel.GetSize(); i++) { // nun kannst du mit jedem gewählten Eintrag was machen } }aber bekomme immer die fehlermedlung:;
:\dokumente und einstellun...dds_centerdlg.cpp(386) : error C2065: 'CArray' : nichtdeklarierter Bezeichner
-
#include <afxtempl.h>
dann kennt er auch CArray (glaub ich)
-
cool, danke dir das hat mich schon wieder nen stück weiter gebracht.
THX