Hi to all of you....

i have been working on creating a nice and simple menu to the right of my app using the listview control and api's specific to windows xp.
the todo list:

    [*]Mutipal groups on one list view
    [*]switch to tile view

    The rest is the older listview api's. Anyway... is there anyone that can help me out a bit with the above list in the app.

    Black iCE.

    Note - Olly tels me about the failure to add the second group to the listview... but Microsoft does not say where to look for a reson why it is failing.:mad:

    Oh btw, the attachment contains a windows.inc that i have tried to update the LV_ITEM struct with three aditional fields
Posted on 2004-07-07 15:47:18 by Black iCE
Consider this prosibility:
List-View Working Areas

if i create workareas and assign the index to it them perhaps it should work... cause i can only currently have 1 group with the id of 0 - which is the default workarea creation routine.

get back to this thread if it works.
Posted on 2004-07-08 16:13:37 by Black iCE
OK tried and died..... doesn't work!
Posted on 2004-07-08 21:28:29 by Black iCE
Hi Black iCE,

I think that the only problems with the code you have attached are:

(a) you created two LVGROUPs with the same iGroupId field; please replace the second
mov lvg.iGroupId,NULL
mov lvg.iGroupId,1

(b) as far as a group is not populated, Windows will not show it; please add a second item with iGroupId 1 to see both groups!

Have fun, bilbo
Posted on 2004-07-09 07:05:47 by prom

Thank you very much... i seem to have slipped up at point (b), Kept changing the idGroup value but i didn't add anything into the second group.

And most of all thank you for looking @ my code and posting a reply to the thread!!!!!:alright:

Black iCE
Posted on 2004-07-09 17:26:08 by Black iCE
No not lazy i am just stupid or sumthing?:grin:

from msdn (http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/listview/listview_overview.asp?frame=true#windowsxp)
The tile-view APIs enable you to specify which column fields to display for each item, and to collectively control the size and appearance of all items within a tile-view window. For clarity, the first line of text in a tile is always the item's name.

So where exactly or more to the line of how do you get tile view? there are no listings in any constants in the lisview control or messages to send to it that seems to change the view to tile view.

Black iCE
Posted on 2004-07-09 18:45:09 by Black iCE
Hi BlackiCE,

I would have assumed that would be:


invoke SendMessageA, , LVM_SETVIEW, LV_VIEW_TILE, 0

Posted on 2004-07-09 20:06:51 by donkey
Thank you Donkey,

Sorry, i was creating the window and was looking for a way just to do it stright from CreateWindowEx... but your response solves my problemo... thank you very much.

Black iCE
Posted on 2004-07-09 20:24:50 by Black iCE
Hi there just a quick question....

when processing the WM_MOUSEMOVE message, i need to know what the macro GET_X_LPARAM and GET_Y_LPARAM contains... so that i can obviously get the mouse cursors position within the subclassed window.

(I don't supose it is as simple as a shift operation?)

Thank you!
Black iCE
Posted on 2004-07-11 14:47:53 by Black iCE
Hi Black iCE,

It would be like this, shifting is not necessary when it is HIWORD/LOWORD from memory...
movzx eax, WORD PTR [lParam]

movzx ecx, WORD PTR [lParam+2]

Posted on 2004-07-11 15:01:51 by donkey
thank you donkey
Posted on 2004-07-11 15:31:42 by Black iCE