Item im ListView Control erscheint rechts.
-
Laut MSDN müssten die Items ganz links erstellt werden. Also jeweils in der ersten Spalte. Und die Subitems sind dann die Einträge in den anderen Spalten.
Jedes Item ist der Kopf einer Zeile. Bei mir ist der Kopf jeder Zeile auf der rechten Seite.
Weis jmd. wie ich ihn auf die linke Seite bekommen.
Das Problem ist: Man soll nur Köpfe markieren können und rechts ist unschön.Kann mir j.d. helfen?
Ich bedanke mich im Voraus.
MfG. Tolga.
-
Zeig mal, wie du die Spalten erstellst.
-
MFK schrieb:
Zeig mal, wie du die Spalten erstellst.
typedef struct _LVCOLUMN { UINT mask; int fmt; int cx; LPTSTR pszText; int cchTextMax; int iSubItem; #if (_WIN32_IE >= 0x0300) int iImage; int iOrder; #endif } LVCOLUMN, *LPLVCOLUMN; LVCOLUMN lvc; lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_ORDER; lvc.cx = 90; lvc.fmt = LVCFMT_LEFT; lvc.pszText = TEXT("spalte1"); lvc.iOrder = 0; SendMessage((HWND)hListView,(UINT)LVM_INSERTCOLUMN,(WPARAM)NULL,(LPARAM)&lvc); lvc.cx = 60; lvc.pszText = TEXT("spalte2"); lvc.iOrder = 1; SendMessage((HWND)hListView,(UINT)LVM_INSERTCOLUMN,(WPARAM)NULL,(LPARAM)&lvc); lvc.pszText = TEXT("spalte2"); lvc.iOrder = 2; SendMessage((HWND)hListView,(UINT)LVM_INSERTCOLUMN,(WPARAM)NULL,(LPARAM)&lvc);
-
Der WPARAM-Parameter bei LVM_INSERTCOLUMN ist der Spaltenindex, auf den kommt es an. Du übergibst immer 0, daher wird jede Spalte vor den bestehenden eingefügt. iSubItem zu setzen, wäre wohl auch noch sinnvoll.
-
Danke, WPARAM hatte ich nie bedacht.
Wenn man sich etwas zu sehr wünscht und ungeduldig ist wie ich, dann sieht man vor lauter Bäume den Wald nicht.Weist du auch, wie man eine ganze Zeile markieren kann anstatt der Kopfitems?
MfG Tolga.
-
-
Mit dem Extended Style LVS_EX_FULLROWSELECT kannst du das steuern.