Winapi 如何获取Win32 listbox的列宽?

Winapi 如何获取Win32 listbox的列宽?,winapi,listbox,width,multiple-columns,Winapi,Listbox,Width,Multiple Columns,我有一个Win32多列列表框: HWND hListBox = CreateWindowEx(NULL, TEXT("LISTBOX"), NULL, LBS_MULTICOLUMN | WS_CHILD | WS_BORDER | WS_VISIBLE | WS_VSCROLL | LBS_NOTIFY, 0, 25, 600, 450, hWnd, NULL, NULL, NULL); 我添加如下项目: SendMessage(hListBox, LB_ADDSTRING, NULL, (

我有一个Win32多列列表框:

HWND hListBox = CreateWindowEx(NULL, TEXT("LISTBOX"), NULL, LBS_MULTICOLUMN | WS_CHILD | WS_BORDER | WS_VISIBLE | WS_VSCROLL | LBS_NOTIFY, 0, 25, 600, 450, hWnd, NULL, NULL, NULL);
我添加如下项目:

SendMessage(hListBox, LB_ADDSTRING, NULL, (LPARAM)("New items"));
在我将一些项目添加到hListBox后,列宽发生了变化。

如何获取此列表框第一列的新宽度?谢谢!

您可以使用
LB_GETITEMRECT
消息:

RECT rc;
SendMessage(hWndLB, LB_GETITEMRECT, 0, (LPARAM)&rc);
int iItemWidth = rc.right - rc.left;