PRB: LVM_SETCOLUMNWIDTH Special Values Set Incorrect Column Width (246364)



The information in this article applies to:

  • Microsoft Win32 Application Programming Interface (API), when used with:
    • Microsoft Windows NT Server 4.0
    • Microsoft Windows NT Workstation 4.0
    • Microsoft Windows 98
    • Microsoft Windows 95

This article was previously published under Q246364

SYMPTOMS

Sending a list view control an LVM_SETCOLUMNWIDTH message where the new width is set to LVSCW_AUTOSIZE or LVSCW_AUTOSIZE_USEHEADER will not work as expected for column 0 in report mode if an indent value is specified for any item.

CAUSE

The LVSCW_AUTOSIZE and LVSCW_AUTOSIZE_USEHEADER both are used to calculate the width of a column header based on either the header test and item text length. On COMMCTL32.DLL versions 4.70 and 4.72, the indent is not included in this calculation.

RESOLUTION

This has been fixed as of 5.80 of COMCTL32.dll. For versions prior to 5.80 the width of the column must be set by specifying a width in the lParam of the LVM_SETCOLUMNWIDTH message.

Modification Type:MinorLast Reviewed:12/20/2004
Keywords:kbListView kbprb KB246364 kbAudDeveloper