user32: Allow setting horizontal extent even without WS_HSCROLL.
This commit is contained in:
parent
5d31c1e824
commit
c4a28490f3
|
@ -83,7 +83,7 @@ typedef struct
|
|||
INT item_height; /* Default item height */
|
||||
INT page_size; /* Items per listbox page */
|
||||
INT column_width; /* Column width for multi-column listboxes */
|
||||
INT horz_extent; /* Horizontal extent (0 if no hscroll) */
|
||||
INT horz_extent; /* Horizontal extent */
|
||||
INT horz_pos; /* Horizontal position */
|
||||
INT nb_tabs; /* Number of tabs in array */
|
||||
INT *tabs; /* Array of tabs */
|
||||
|
@ -1239,7 +1239,7 @@ static void LISTBOX_SetHorizontalPos( LB_DESCR *descr, INT pos )
|
|||
*/
|
||||
static LRESULT LISTBOX_SetHorizontalExtent( LB_DESCR *descr, INT extent )
|
||||
{
|
||||
if (!descr->horz_extent || (descr->style & LBS_MULTICOLUMN))
|
||||
if (descr->style & LBS_MULTICOLUMN)
|
||||
return LB_OKAY;
|
||||
if (extent <= 0) extent = 1;
|
||||
if (extent == descr->horz_extent) return LB_OKAY;
|
||||
|
@ -2485,7 +2485,7 @@ static BOOL LISTBOX_Create( HWND hwnd, LPHEADCOMBO lphc )
|
|||
descr->item_height = 1;
|
||||
descr->page_size = 1;
|
||||
descr->column_width = 150;
|
||||
descr->horz_extent = (descr->style & WS_HSCROLL) ? 1 : 0;
|
||||
descr->horz_extent = 0;
|
||||
descr->horz_pos = 0;
|
||||
descr->nb_tabs = 0;
|
||||
descr->tabs = NULL;
|
||||
|
|
|
@ -1617,6 +1617,41 @@ static void test_missing_lbuttonup( void )
|
|||
DestroyWindow(parent);
|
||||
}
|
||||
|
||||
static void test_extents(void)
|
||||
{
|
||||
HWND listbox, parent;
|
||||
DWORD res;
|
||||
|
||||
parent = create_parent();
|
||||
|
||||
listbox = create_listbox(WS_CHILD | WS_VISIBLE, parent);
|
||||
|
||||
res = SendMessageA(listbox, LB_GETHORIZONTALEXTENT, 0, 0);
|
||||
ok(res == 0, "Got wrong initial horizontal extent: %u\n", res);
|
||||
|
||||
SendMessageA(listbox, LB_SETHORIZONTALEXTENT, 64, 0);
|
||||
|
||||
res = SendMessageA(listbox, LB_GETHORIZONTALEXTENT, 0, 0);
|
||||
ok(res == 64, "Got wrong horizontal extent: %u\n", res);
|
||||
|
||||
DestroyWindow(listbox);
|
||||
|
||||
|
||||
listbox = create_listbox(WS_CHILD | WS_VISIBLE | WS_HSCROLL, parent);
|
||||
|
||||
res = SendMessageA(listbox, LB_GETHORIZONTALEXTENT, 0, 0);
|
||||
ok(res == 0, "Got wrong initial horizontal extent: %u\n", res);
|
||||
|
||||
SendMessageA(listbox, LB_SETHORIZONTALEXTENT, 64, 0);
|
||||
|
||||
res = SendMessageA(listbox, LB_GETHORIZONTALEXTENT, 0, 0);
|
||||
ok(res == 64, "Got wrong horizontal extent: %u\n", res);
|
||||
|
||||
DestroyWindow(listbox);
|
||||
|
||||
DestroyWindow(parent);
|
||||
}
|
||||
|
||||
START_TEST(listbox)
|
||||
{
|
||||
const struct listbox_test SS =
|
||||
|
@ -1698,4 +1733,5 @@ START_TEST(listbox)
|
|||
test_set_count();
|
||||
test_GetListBoxInfo();
|
||||
test_missing_lbuttonup();
|
||||
test_extents();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue