The LVM_GETSTRINGWIDTH message determines the width of a specified string, using the specified list view control’s current font. You can send this message explicitly or by using the ListView_GetStringWidth macro.
LVM_GETSTRINGWIDTH wParam = 0; lParam = (LPARAM) (LPCSTR) psz;
Returns the string width if successful or zero otherwise.
The LVM_GETSTRINGWIDTH message returns the exact width, in pixels, of the specified string. If you use the returned string width as the column width in the LVM_SETCOLUMNWIDTH message, the string will be truncated. To get the column width that can contain the string without truncating it, you must add padding to the returned string width.