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 item_height; /* Default item height */
|
||||||
INT page_size; /* Items per listbox page */
|
INT page_size; /* Items per listbox page */
|
||||||
INT column_width; /* Column width for multi-column listboxes */
|
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 horz_pos; /* Horizontal position */
|
||||||
INT nb_tabs; /* Number of tabs in array */
|
INT nb_tabs; /* Number of tabs in array */
|
||||||
INT *tabs; /* Array of tabs */
|
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 )
|
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;
|
return LB_OKAY;
|
||||||
if (extent <= 0) extent = 1;
|
if (extent <= 0) extent = 1;
|
||||||
if (extent == descr->horz_extent) return LB_OKAY;
|
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->item_height = 1;
|
||||||
descr->page_size = 1;
|
descr->page_size = 1;
|
||||||
descr->column_width = 150;
|
descr->column_width = 150;
|
||||||
descr->horz_extent = (descr->style & WS_HSCROLL) ? 1 : 0;
|
descr->horz_extent = 0;
|
||||||
descr->horz_pos = 0;
|
descr->horz_pos = 0;
|
||||||
descr->nb_tabs = 0;
|
descr->nb_tabs = 0;
|
||||||
descr->tabs = NULL;
|
descr->tabs = NULL;
|
||||||
|
|
|
@ -1617,6 +1617,41 @@ static void test_missing_lbuttonup( void )
|
||||||
DestroyWindow(parent);
|
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)
|
START_TEST(listbox)
|
||||||
{
|
{
|
||||||
const struct listbox_test SS =
|
const struct listbox_test SS =
|
||||||
|
@ -1698,4 +1733,5 @@ START_TEST(listbox)
|
||||||
test_set_count();
|
test_set_count();
|
||||||
test_GetListBoxInfo();
|
test_GetListBoxInfo();
|
||||||
test_missing_lbuttonup();
|
test_missing_lbuttonup();
|
||||||
|
test_extents();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue