我有一个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后,列宽已更改 如何获得此列表框的新宽度第一列?谢谢!
答案 0 :(得分:1)
您可以使用LB_GETITEMRECT
消息:
RECT rc;
SendMessage(hWndLB, LB_GETITEMRECT, 0, (LPARAM)&rc);
int iItemWidth = rc.right - rc.left;