Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Implemented SetColumnWidth for ListView control.
This commit is contained in:
parent
a16a032c06
commit
bce73ad5b2
|
@ -4669,6 +4669,55 @@ static LRESULT LISTVIEW_SetColumnA(HWND hwnd, INT nColumn,
|
||||||
return bResult;
|
return bResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* DESCRIPTION:
|
||||||
|
* Sets the width of a column
|
||||||
|
*
|
||||||
|
* PARAMETERS:
|
||||||
|
* [I] HWND : window handle
|
||||||
|
* [I] INT : column index
|
||||||
|
* [I] INT : column width
|
||||||
|
*
|
||||||
|
* RETURN:
|
||||||
|
* SUCCESS : TRUE
|
||||||
|
* FAILURE : FALSE
|
||||||
|
*/
|
||||||
|
static LRESULT LISTVIEW_SetColumnWidth(HWND hwnd, INT iCol, INT cx)
|
||||||
|
{
|
||||||
|
LISTVIEW_INFO *infoPtr;
|
||||||
|
HDITEMA hdi;
|
||||||
|
LRESULT lret;
|
||||||
|
LONG lStyle;
|
||||||
|
|
||||||
|
// set column width only if in report mode
|
||||||
|
lStyle = GetWindowLongA(hwnd, GWL_STYLE);
|
||||||
|
if ((lStyle & LVS_TYPEMASK) != LVS_REPORT)
|
||||||
|
return (FALSE);
|
||||||
|
|
||||||
|
// make sure we can get the listview info
|
||||||
|
if (!(infoPtr = (LISTVIEW_INFO *)GetWindowLongA(hwnd, 0)))
|
||||||
|
return (FALSE);
|
||||||
|
if (!infoPtr->hwndHeader) // make sure we have a header
|
||||||
|
return (FALSE);
|
||||||
|
|
||||||
|
// FIXME: currently ignoring LVSCW_AUTOSIZE (-1) and
|
||||||
|
// LVSCV_AUTOSIZE_USEHEADER (-2)
|
||||||
|
if (cx < 0)
|
||||||
|
return (FALSE);
|
||||||
|
|
||||||
|
hdi.mask = HDI_WIDTH;
|
||||||
|
hdi.cxy = cx;
|
||||||
|
|
||||||
|
// call header to update the column change
|
||||||
|
lret = Header_SetItemA(infoPtr->hwndHeader, (WPARAM)iCol, (LPARAM)&hdi);
|
||||||
|
|
||||||
|
infoPtr->nItemWidth = LISTVIEW_GetItemWidth(hwnd, LVS_REPORT);
|
||||||
|
|
||||||
|
InvalidateRect(hwnd, NULL, TRUE); // force redraw of the listview
|
||||||
|
|
||||||
|
return lret;
|
||||||
|
}
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* DESCRIPTION:
|
* DESCRIPTION:
|
||||||
* Sets image lists.
|
* Sets image lists.
|
||||||
|
@ -6517,7 +6566,10 @@ LRESULT WINAPI LISTVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam,
|
||||||
|
|
||||||
/* case LVM_SETCOLUMNW: */
|
/* case LVM_SETCOLUMNW: */
|
||||||
/* case LVM_SETCOLUMNORDERARRAY: */
|
/* case LVM_SETCOLUMNORDERARRAY: */
|
||||||
/* case LVM_SETCOLUMNWIDTH: */
|
|
||||||
|
case LVM_SETCOLUMNWIDTH:
|
||||||
|
return LISTVIEW_SetColumnWidth(hwnd, (INT)wParam, (INT)lParam);
|
||||||
|
|
||||||
/* case LVM_SETEXTENDEDLISTVIEWSTYLE: */
|
/* case LVM_SETEXTENDEDLISTVIEWSTYLE: */
|
||||||
/* case LVM_SETHOTCURSOR: */
|
/* case LVM_SETHOTCURSOR: */
|
||||||
/* case LVM_SETHOTITEM: */
|
/* case LVM_SETHOTITEM: */
|
||||||
|
|
Loading…
Reference in New Issue