Eintragen in Listviews Ändern von Listviews
-
Ich habe mit dem Resourcen Editor folgenden Abschnitt im .rc erzeugt
IDD_DIALOG2 DIALOG DISCARDABLE 0, 0, 274, 314 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Dialog" FONT 8, "MS Sans Serif" BEGIN DEFPUSHBUTTON "OK",IDOK,222,298,50,14 GROUPBOX "History",IDC_STATIC,2,145,270,148 PUSHBUTTON "Select History File",IDC_BUTTON1,2,2,270,14 CONTROL "List2",IDC_LIST2,"SysListView32",WS_BORDER | WS_TABSTOP, 157,179,60,50 END
Wie kann ich darauf aus einer Dialogfunktion zugreifen?
Der AufrufHWND hListView;
hListView = GetDlgItem(hDlg, IDC_LIST2);ergibt bei GetLastError: Kennung des Steuerelements nicht gefunden
Eintragen mit
LV_ITEM item;
char szBuffer2[NORMSTRINGLEN]={"TEST"};item.pszText=szBuffer2;
item.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;
item.state =LVIS_FOCUSED|LVIS_SELECTED;
item.iSubItem = 0;
item.iImage = 1;
ListView_InsertItem(hListView,&item);
ListView_SetItemText(hListView,item.iItem,2,szBuffer2);ergibt keinerlei Ausgabe
PS: wir kann ich die Anzahl der Spalten definieren um in der ersten Spalte
Bilder und in der zweiten Spalte Texte darzustellen
-
Hmm deine .rc datei scheint in ordnung zu sein.. aba in dialogen hab ich noch nie nen listview genutzt ;)... hast du InitCommonControls aufgerufen?
To create a list-view control, call the CreateWindow or CreateWindowEx function and specify the WC_LISTVIEW window class. This window class is registered when the common controls dynamic-link library (DLL) loads. To ensure that this DLL loads, use the InitCommonControls or InitCommonControlsEx function. Because list-view controls display both icons and text, as part of the creation process you must load the bitmaps and insert the text items.
so wie ich das verstehe wird die window class für das listview-control erst nach dem laden dieser dll erstellt ^^.
cya
-
Leider hatte ich InitCommonControls aufgerufen und es funktioniert trotzdem nicht.
-
Ist wohl nur eine blöde Idee, aber evtl. klappt es mit InitCommonControlsEx