user32: Implement GetListBoxInfo().
This commit is contained in:
parent
b49c565f95
commit
8f7779fc3b
|
@ -27,8 +27,6 @@
|
||||||
* If you discover missing features, or bugs, please note them below.
|
* If you discover missing features, or bugs, please note them below.
|
||||||
*
|
*
|
||||||
* TODO:
|
* TODO:
|
||||||
* - GetListBoxInfo()
|
|
||||||
* - LB_GETLISTBOXINFO
|
|
||||||
* - LBS_NODATA
|
* - LBS_NODATA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -2955,8 +2953,7 @@ LRESULT ListBoxWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam
|
||||||
return LB_OKAY;
|
return LB_OKAY;
|
||||||
|
|
||||||
case LB_GETLISTBOXINFO:
|
case LB_GETLISTBOXINFO:
|
||||||
FIXME("LB_GETLISTBOXINFO: stub!\n");
|
return descr->page_size;
|
||||||
return 0;
|
|
||||||
|
|
||||||
case WM_DESTROY:
|
case WM_DESTROY:
|
||||||
return LISTBOX_Destroy( descr );
|
return LISTBOX_Destroy( descr );
|
||||||
|
@ -3149,3 +3146,9 @@ LRESULT ListBoxWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam
|
||||||
return unicode ? DefWindowProcW( hwnd, msg, wParam, lParam ) :
|
return unicode ? DefWindowProcW( hwnd, msg, wParam, lParam ) :
|
||||||
DefWindowProcA( hwnd, msg, wParam, lParam );
|
DefWindowProcA( hwnd, msg, wParam, lParam );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DWORD WINAPI GetListBoxInfo(HWND hwnd)
|
||||||
|
{
|
||||||
|
TRACE("%p\n", hwnd);
|
||||||
|
return SendMessageW(hwnd, LB_GETLISTBOXINFO, 0, 0);
|
||||||
|
}
|
||||||
|
|
|
@ -1545,6 +1545,49 @@ static void test_set_count( void )
|
||||||
DestroyWindow( parent );
|
DestroyWindow( parent );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static DWORD (WINAPI *pGetListBoxInfo)(HWND);
|
||||||
|
static int lb_getlistboxinfo;
|
||||||
|
|
||||||
|
static LRESULT WINAPI listbox_subclass_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
|
{
|
||||||
|
WNDPROC oldproc = (WNDPROC)GetWindowLongPtrA(hwnd, GWLP_USERDATA);
|
||||||
|
|
||||||
|
if (message == LB_GETLISTBOXINFO)
|
||||||
|
lb_getlistboxinfo++;
|
||||||
|
|
||||||
|
return CallWindowProcA(oldproc, hwnd, message, wParam, lParam);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test_GetListBoxInfo(void)
|
||||||
|
{
|
||||||
|
HWND listbox, parent;
|
||||||
|
WNDPROC oldproc;
|
||||||
|
DWORD ret;
|
||||||
|
|
||||||
|
pGetListBoxInfo = (void*)GetProcAddress(GetModuleHandle("user32"), "GetListBoxInfo");
|
||||||
|
|
||||||
|
if (!pGetListBoxInfo)
|
||||||
|
{
|
||||||
|
win_skip("GetListBoxInfo() not available\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
parent = create_parent();
|
||||||
|
listbox = create_listbox(WS_CHILD | WS_VISIBLE, parent);
|
||||||
|
|
||||||
|
oldproc = (WNDPROC)SetWindowLongPtrA(listbox, GWLP_WNDPROC, (LONG_PTR)listbox_subclass_proc);
|
||||||
|
SetWindowLongPtrA(listbox, GWLP_USERDATA, (LONG_PTR)oldproc);
|
||||||
|
|
||||||
|
lb_getlistboxinfo = 0;
|
||||||
|
ret = pGetListBoxInfo(listbox);
|
||||||
|
ok(ret > 0, "got %d\n", ret);
|
||||||
|
todo_wine
|
||||||
|
ok(lb_getlistboxinfo == 0, "got %d\n", lb_getlistboxinfo);
|
||||||
|
|
||||||
|
DestroyWindow(listbox);
|
||||||
|
DestroyWindow(parent);
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(listbox)
|
START_TEST(listbox)
|
||||||
{
|
{
|
||||||
const struct listbox_test SS =
|
const struct listbox_test SS =
|
||||||
|
@ -1624,4 +1667,5 @@ START_TEST(listbox)
|
||||||
test_listbox_LB_DIR();
|
test_listbox_LB_DIR();
|
||||||
test_listbox_dlgdir();
|
test_listbox_dlgdir();
|
||||||
test_set_count();
|
test_set_count();
|
||||||
|
test_GetListBoxInfo();
|
||||||
}
|
}
|
||||||
|
|
|
@ -308,7 +308,7 @@
|
||||||
@ stdcall GetLastActivePopup(long)
|
@ stdcall GetLastActivePopup(long)
|
||||||
@ stdcall GetLastInputInfo(ptr)
|
@ stdcall GetLastInputInfo(ptr)
|
||||||
@ stdcall GetLayeredWindowAttributes(long ptr ptr ptr)
|
@ stdcall GetLayeredWindowAttributes(long ptr ptr ptr)
|
||||||
# @ stub GetListBoxInfo
|
@ stdcall GetListBoxInfo(long)
|
||||||
@ stdcall GetMenu(long)
|
@ stdcall GetMenu(long)
|
||||||
@ stdcall GetMenuBarInfo(long long long ptr)
|
@ stdcall GetMenuBarInfo(long long long ptr)
|
||||||
@ stdcall GetMenuCheckMarkDimensions()
|
@ stdcall GetMenuCheckMarkDimensions()
|
||||||
|
|
Loading…
Reference in New Issue