Listview?

Tags:    c++

<< < 12 > >>
Hejsa.

Hvordan fanden laver man et listview ? det er nemt nok at lave en listbox knapper osv, men fatter nada af hvordan man laver en listview. så er der en der kan forklare mig hvordan man laver et sådanne listview ?


- SpeC|DK - #SpeC.DK @ Q-NET



Du opretter vinduet med WC_LISTVIEW som wnd-class (ingen "")
Du bruge LVS_* til at bestemme hvordan det skal se ud
Den sender LVN_* når der sker ting med den
Du sender LVM_* for at putte ting i den.



Du opretter vinduet med WC_LISTVIEW som wnd-class (ingen "")
Du bruge LVS_* til at bestemme hvordan det skal se ud
Den sender LVN_* når der sker ting med den
Du sender LVM_* for at putte ting i den.


Hmmm sådan her eller hvad ?

HWND ListView;
ListView = CreateWindowEx(
WS_EX_CLIENTEDGE, // ex style
WC_LISTVIEW, // class name - defined in commctrl.h
TEXT(""), // dummy text
WS_TABSTOP | WS_BORDER | WS_CHILD | WS_VISIBLE | LVS_AUTOARRANGE | LVS_REPORT | LVS_OWNERDATA,
0, // x position
0, // y position
200, // width
200, // height
hwnd, // parent
(HMENU)ID_LISTVIEW, // ID
hInstance, // instance
NULL); // no extra data


LVITEM Item;
LVCOLUMN Column;

memset(&Column, 0, sizeof(Column));
Column.mask = LVCF_TEXT | LVCF_WIDTH;
Column.cx = 100;
Column.pszText = "Blah Blah";
SendDlgItemMessage(hwnd, ID_LISTVIEW, LVM_INSERTCOLUMN, 0, (LPARAM )&Column);

- SpeC|DK - #SpeC.DK @ Q-NET



Det ser rigtigt ud.

Jeg regner med at lave et eksempel i løbet af i aften.



Det ser rigtigt ud.

Jeg regner med at lave et eksempel i løbet af i aften.

lyder godt, for mit virker ikke, det er rigtigt nok at jeg har #define ID_LISTVIEW 2000 ikk ?
- SpeC|DK - #SpeC.DK @ Q-NET



Det burde være ok med en ID_LISTVIEW på 2000.
Bliver listen slet ikke vist?
Har du kaldt InitCommonControls ?



Du skal vist kalde InitCommonControlsEx, noget i stil med:
Fold kodeboks ind/udKode 




Du skal vist kalde InitCommonControlsEx, noget i stil med:
Fold kodeboks ind/udKode 

Skal jeg kalde det inden jeg laver min listview eller efter ?
hvilket lib skal jeg tilføje for at InitCommonControlsEx kan compile ?
- SpeC|DK - #SpeC.DK @ Q-NET



Du skal kalde den inden du opretter kontrollen, f.ex. som det første i dit program.

Den findes i comctl32.lib



Du skal kalde den inden du opretter kontrollen, f.ex. som det første i dit program.

Den findes i comctl32.lib

Nice tak for hjælpen, ohh lige en ting til, hvordan updatere / sletter jeg mine item's
- SpeC|DK - #SpeC.DK @ Q-NET



Du sletter det hele ved at sende en LVM_DELETEALLITEMS til listen.
Der er også LVM_DELETEITEM

Du indsætter med LVM_INSERTITEM og LVM_SETITEMTEXT



<< < 12 > >>
t