我有LBS_OWNERDRAWVARIABLE样式的Listbox,并尝试在WM_SIZE上使用WM_MEASUREITEM调整项目高度。
我接下来在WM_SIZE程序中编写了代码,引用了http://www.codeproject.com/Articles/1401/Changing-Row-Height-in-an-owner-drawn-Control:
WINDOWPOS wp;
ZeroMemory (&wp, sizeof(WINDOWPOS));
wp.hwnd = hwndListbox;
wp.cx = iWidht;
wp.cy = iHeight;
wp.flags = SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOOWNERZORDER | SWP_NOZORDER;
// WM_WINDOWPOSCHANGED for force generate WM_MEASUREITEM:
SendMessage (hwndListbox, WM_WINDOWPOSCHANGED, 0, (LPARAM)&wp);
然而,它已经工作了......(选择不生成WM_MESUREITEM。)
问题:如何强制生成WM_MESUREITEM,或动态调整项目高度?
p.s我使用C ++和Win32,而不是MFC。