Re: COMING REAL SOON !

new topic     » goto parent     » topic index » view thread      » older message » newer message

cosider this listview.ew file

global constant
    LVS_REPORT = 1,
    LVS_SHOWSELALWAYS = 8,
    LVIF_TEXT = #0001,
    LVIF_PARAM = #0004,

    LVIS_SELECTED  = #0002,
    LVNI_FOCUSED = 1,

    LVCF_FMT = 1,
    LVCF_WIDTH = 2,
    LVCF_TEXT = 4,
    LVCF_SUBITEM = 8,
    LVCF_ORDER = 20,
    LVCFMT_LEFT = 0,
    LVM_INSERTCOLUMN = 4123,
    LVS_SHAREIMAGELISTS = 40,
    LVM_SETITEM = 4102,
    LVM_INSERTITEM = 4103,
    LVM_GETNEXTITEM = 4108,

    LVM_SETBKCOLOR = 4097,
    LVM_SETTEXTBKCOLOR = 4134,
    LVM_SETTEXTCOLOR = 4132,
    LVM_SETEXTENDEDLISTVIEWSTYLE = 4150,
    LVS_EX_GRIDLINES = 1,
    LVS_EX_TRACKSELECT = 8,
    LVS_EX_HEADERDRAGDROP = 10,
    LVS_EX_FULLROWSELECT = 20,
    LVS_EX_ONECLICKACTIVATE = 40

constant
    lvcol_mask = 0,
    lvcol_fmt = 4,
    lvcol_cx = 8,
    lvcol_pszText = 12,
    lvcol_cchTextMax = 16,
    lvcol_iSubItem = 20,
    lvcol_iOrder = 24,
    sizeof_lvcol = 28

global constant
    lvitem_mask = 0,
    lvitem_iItem = 4,
    lvitem_iSubItem = 8,
    lvitem_state = 12,
    lvitem_stateMask = 16,
    lvitem_pszText = 20,
    lvitem_cchTextMax = 24,
    lvitem_iImage = 28,
    lvitem_lParam = 32,
    lvitem_iIdent = 36,
    sizeof_lvitem = 40

global constant
    LVN_COLUMNCLICK = -108,
    NM_CLICK = -2,
    LVM_GETITEM = 4101,
    LVM_GETITEMSTATE =  4140,
    LVM_GETSELECTEDCOUNT  = 4146

global atom ListView1, lvcol

-- create a listview
global function MakeListView(atom hwnd, sequence name, integer x1, integer y1,
integer x2, integer y2)

atom id, szName, szName2, lvMask
object junk

lvMask =
or_all({LVS_EX_HEADERDRAGDROP,LVS_EX_GRIDLINES,LVS_EX_ONECLICKACTIVATE })

szName = allocate_string("SysListView32")
szName2 = allocate_string(name)

id = c_func(CreateWindow,{WS_EX_CLIENTEDGE,
                         szName,
                         szName2,
                         or_all({WS_CHILD,
                                 WS_TABSTOP,
                                 WS_VISIBLE,
                                 WS_BORDER,
                                 LVS_REPORT
                                 }),
     x1,
     y1,
     x2,
     y2,
     hwnd,
     0,
     hInst,
     NULL})

free(szName)
free(szName2)

junk = c_func(SendMessage,{id, LVM_SETEXTENDEDLISTVIEWSTYLE, lvMask, lvMask})

junk = c_func(SendMessage,{id,LVM_SETBKCOLOR, 0, 16744576})
junk = c_func(SendMessage,{id,LVM_SETTEXTBKCOLOR, 0, 16744576})
junk = c_func(SendMessage,{id,LVM_SETTEXTCOLOR, 0, 16777088})

lvcol = allocate_struct(sizeof_lvcol)
poke4( lvcol + lvcol_mask, or_all({LVCF_FMT, LVCF_SUBITEM, LVCF_TEXT,
LVCF_WIDTH}))
poke4( lvcol + lvcol_fmt, LVCFMT_LEFT)

return id

end function

-- add listview columns

global procedure ListView_Column(atom id, sequence text, integer item, integer
width )
atom itxt, junk

itxt = allocate_string(text)
poke4( lvcol + lvcol_cx, width)
poke4( lvcol + lvcol_pszText, itxt )
poke4( lvcol + lvcol_iSubItem, item )
junk = c_func(SendMessage,{id, LVM_INSERTCOLUMN, 0, lvcol})
free(itxt)

end procedure


-- The above code is already done for you so,

-- Start of your program

include listview.ew

-- Then in your main winproc( )

    if iMsg = WM_CREATE then

        ListView1 = MakeListView(hwnd, "ListView1", 210, 70, 400, 150)

        ListView_Column(ListView1, "Column One",  0, 133 )
        ListView_Column(ListView1, "Column Two", 1, 133 )

this is all is required to create a listview I dont particularly want the extra
processes involved
with renameing. This code also sets colors for the listview, the text and adds
extended styles
all in one little tiny swoop. Anyone that looks at this can take the color
setting features out
for a particular project but thats what makes it fun and alows others to learn
the API as well.

The code to handle notification messages is done for you too and can be
configured easily
as well.

Look easy? It is! Wait a mnth or so and see.
I still have to finish a little project for PATRAT thats fallen behind.

Euman
euman at bellsouth.net

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu