----- Original Message ----- From: "Steve Whine" stevewhine2002@yahoo.co.uk To: wine-devel@winehq.com Sent: Wednesday, August 14, 2002 10:14 AM Subject: ListView Issues
Hi,
I've just started looking into getting a project of wine running on Linux via Wine, and I'm very impressed so far! However, there are a few (mostly minor) problems with the ListView control:
- When using icons bigger than the sizes returned by
SystemParametersInfo(SPI_GETICONMETRICS), the text for the items is not displayed correctly at the bottom of the icon.
- When running a program created by C++ Builder 5,
clicking on an item in the listview causes an access violation in C++ Builder's VCL library code - it is obviously getting passed an unexpected value.
- The amount of text displayed is often far less than
is displayed in Windows, making the listbox difficult to use.
I have been looking into the ListView code and have hacked a fix for the first and third problem, but I am having a little difficulty understanding the code - the LISTVIEW_INFO struct has both an nItemWidth/nItemHeight pair describing the width/height of each item, and an iconSpacing SIZE struct that seems to do the same. What is the difference in these, where should one be used and where should the other be used?
Is anyone actively maintaining the listview code, or should I just carry on hacking until I'm happy with it, and post the changes here? I have created a small test program to demonstrate these problems which I can post if anyone is interested.
I must say it's very nice to be able to wade into the code to fix these problems myself rather than waiting for someone else (not) to do it!
Yes, Listview is very confusing. I am working on bug #676 which deals with listview issues in the LVS_ICON style. The display issues are also tied up with the LVM_GETITEMRECT (of all types). It also is tied up with inconsistant computation of the actual size of the text area. There is a prototype patch attached to bug #676. It will not be the final patch but it is a start.
Guy