From f23fd581a7f2ec7ffcc77a238c5004ef260f7c85 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Thu, 5 Jul 2012 21:34:16 +0000 Subject: [PATCH] [User32] - Add support for LB_GETLISTBOXINFO and LBS_NODATA. Fix unknown wide char in draw.c. svn path=/trunk/; revision=56837 --- .../win32ss/user/user32/controls/listbox.c | 22 ++++++++++++++----- reactos/win32ss/user/user32/windows/draw.c | 2 +- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/reactos/win32ss/user/user32/controls/listbox.c b/reactos/win32ss/user/user32/controls/listbox.c index ed489316013..ba3a5d2bf92 100644 --- a/reactos/win32ss/user/user32/controls/listbox.c +++ b/reactos/win32ss/user/user32/controls/listbox.c @@ -27,9 +27,9 @@ * If you discover missing features, or bugs, please note them below. * * TODO: - * - GetListBoxInfo() - * - LB_GETLISTBOXINFO - * - LBS_NODATA + * - GetListBoxInfo() ReactOS + * - LB_GETLISTBOXINFO ReactOS + * - LBS_NODATA ReactOS */ #include @@ -2523,6 +2523,14 @@ static BOOL LISTBOX_Create( HWND hwnd, LPHEADCOMBO lphc ) if (descr->style & LBS_EXTENDEDSEL) descr->style |= LBS_MULTIPLESEL; if (descr->style & LBS_MULTICOLUMN) descr->style &= ~LBS_OWNERDRAWVARIABLE; if (descr->style & LBS_OWNERDRAWVARIABLE) descr->style |= LBS_NOINTEGRALHEIGHT; + + //// ReactOS + /* A no-data list box must also have the LBS_OWNERDRAWFIXED style, but must + not have the LBS_SORT or LBS_HASSTRINGS style. */ + if ( descr->style & LBS_NODATA && + (!(descr->style & LBS_OWNERDRAWFIXED) || descr->style & (LBS_HASSTRINGS|LBS_SORT) ) ) + descr->style &= ~LBS_NODATA; + //// descr->item_height = LISTBOX_SetFont( descr, 0 ); if (descr->style & LBS_OWNERDRAWFIXED) @@ -3001,9 +3009,11 @@ LRESULT WINAPI ListBoxWndProc_common( HWND hwnd, UINT msg, LISTBOX_RepaintItem( descr, descr->focus_item, ODA_FOCUS ); return LB_OKAY; - case LB_GETLISTBOXINFO: - FIXME("LB_GETLISTBOXINFO: stub!\n"); - return 0; + case LB_GETLISTBOXINFO: //// ReactOS + if (descr->style & LBS_MULTICOLUMN) + return descr->column_width; + else + return descr->nb_items; case WM_DESTROY: return LISTBOX_Destroy( descr ); diff --git a/reactos/win32ss/user/user32/windows/draw.c b/reactos/win32ss/user/user32/windows/draw.c index 48198a13bdc..ddedfa42a64 100644 --- a/reactos/win32ss/user/user32/windows/draw.c +++ b/reactos/win32ss/user/user32/windows/draw.c @@ -1,4 +1,4 @@ -/* +/* * ReactOS User32 Library * - Various drawing functions *