[ qwertzuiopasdfghjkl @ 11.08.2006. 07:57 ] @
Kreiram ga, al nikako da bude "poslozen" kako to zelim, evo primjer:



Code:

var lv1:HWND;
     column:LV_COLUMN;
     item:LV_ITEM;
//_hwnd je parent prozor od ovog listview-a


//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.
            InitCommonControls;
            lv1:=CreateWindowEx(0, 'SysListView32', '',
             WS_VISIBLE or WS_CHILD or LVS_REPORT or LVS_EX_FULLROWSELECT or  WS_BORDER,0,21, 391, 255, _hwnd, 0, hInstance, nil);

            FillMemory(@column,SizeOf(column),0);
            column.mask:=LVCF_TEXT or LVCF_WIDTH or LVCF_SUBITEM;
            column.cx:=100;
            column.pszText:='Filename';
            SendMessage(lv1,LVM_INSERTCOLUMN,0,LongInt(@column));

            FillMemory(@column,SizeOf(column),0);
            column.mask:=LVCF_TEXT or LVCF_WIDTH or LVCF_SUBITEM;
            column.cx:=100;
            column.pszText:='Last access time';
            SendMessage(lv1,LVM_INSERTCOLUMN,1,LongInt(@column));

            FillMemory(@column,SizeOf(column),0);
            column.mask:=LVCF_TEXT or LVCF_WIDTH or LVCF_SUBITEM;
            column.cx:=100;
            column.pszText:='Last modified time';
            SendMessage(lv1,LVM_INSERTCOLUMN,2,LongInt(@column));

            FillMemory(@column,SizeOf(column),0);
            column.mask:=LVCF_TEXT or LVCF_WIDTH or LVCF_SUBITEM;
            column.cx:=100;
            column.pszText:='Size [KB]';
            SendMessage(lv1,LVM_INSERTCOLUMN,3,LongInt(@column));


Sad smo kreirali kolone, sad idem dodavat iteme u njih:
Code:

                  FillMemory(@item,SizeOf(item),0);
                  item.mask:=LVIF_TEXT
                  item.iItem:=0;           //ide u prvi red
                  item.iSubItem:=0;      //ide u prvu kolonu ('Filename')
                  item.pszText:='1';
                  SendMessage(lv1,LVM_INSERTITEM,0,LongInt(@item));
                  item.iItem:=0;           //ide u prvi red
                  item.iSubItem:=1;      //ide u drugu kolonu (''Last access time'')
                  item.pszText:='2';
                  SendMessage(lv1,LVM_INSERTITEM,0,LongInt(@item));
                  item.iItem:=0;           //ide u prvi red
                  item.iSubItem:=1;      //ide u trecu kolonu (''Last modified time'')
                  item.pszText:='3';
                  SendMessage(lv1,LVM_INSERTITEM,0,LongInt(@item));
                  item.iItem:=0;           //ide u prvi red
                  item.iSubItem:=1;      //ide u cetvrtu kolonu ('Size[KB]')
                  item.pszText:='4';
                  SendMessage(lv1,LVM_INSERTITEM,0,LongInt(@item));



Sliku imate u attachu... tako trebam dobit a ja ne dobijem nista ;)
On meni samo upise '1' a ove ostale (2,3,4) ne postoje.. ne kotnam gdje sam pogrijesio..

pozdrav

[Ovu poruku je menjao qwertzuiopasdfghjkl dana 11.08.2006. u 09:08 GMT+1]

[Ovu poruku je menjao qwertzuiopasdfghjkl dana 11.08.2006. u 09:08 GMT+1]
[ savkic @ 11.08.2006. 15:44 ] @
> Sliku imate u attachu... tako trebam dobit a ja ne dobijem nista ;)
> On meni samo upise '1' a ove ostale (2,3,4) ne postoje.. ne kotnam gdje sam pogrijesio..

Sa LVM_INSERTITEM dodaješ novu stavku u kontrolu a postavljanje vrednosti pomoćnih kolona se radi pomoću LVM_SETITEM, na primer:



Code:

  FillMemory(@item, SizeOf(item), 0);

  item.mask := LVIF_TEXT;
  item.pszText := 'A';
  ListView_InsertItem(lv1, item);

  item.iSubItem := 1;
  item.pszText := 'B';
  ListView_SetItem(lv1, item);

  item.iSubItem := 2;
  item.pszText := 'C';
  ListView_SetItem(lv1, item);
[ qwertzuiopasdfghjkl @ 11.08.2006. 19:00 ] @
Tako je.. a bem li ga kolko sam se napatio s tim ;)

thx
[ qwertzuiopasdfghjkl @ 11.08.2006. 19:53 ] @
A bem ga.. kako da dobijem linije izmedju redova i stupaca..
lv1:=CreateWindowEx(0, 'SysListView32', '',
WS_CHILD or LVS_REPORT or LVS_EX_FULLROWSELECT or LVS_EX_GRIDLINES or WS_VISIBLE or LVS_REPORT,0,21, 470, 444,
_hwnd, 0, hInstance, nil);

Mislim da je to to al nije... koji stil treba da ubacim/izbacim?
[ obucina @ 11.08.2006. 19:54 ] @
Koja muka te naterala da radis sa Win32 API-jem? Ovo sam radio samo jednom, u VC++, i pobegao glavom bez obzira. Sta fali TListView komponenti?
BTW, pregledaj i ListView makroe, ne znam da li imaju pandan u Delphi-ju, ali ako imaju, olaksace ti posao.
[ qwertzuiopasdfghjkl @ 11.08.2006. 21:56 ] @
Ma nije tako tesko sad kad gledam... volim win32 api ;)

trebalo je samo dodat SendMessage(lv1, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_GRIDLINES);