When combobox selection changes, update its edit box accordingly.
diff --git a/controls/combo.c b/controls/combo.c
index c3e9f33..5961b8a 100644
--- a/controls/combo.c
+++ b/controls/combo.c
@@ -1460,8 +1460,15 @@
CBRollUp( lphc, (HIWORD(wParam) == LBN_SELCHANGE), TRUE );
else lphc->wState &= ~CBF_NOROLLUP;
+ if( lphc->wState & CBF_EDIT )
+ {
+ INT index = SendMessageA(lphc->hWndLBox, LB_GETCURSEL, 0, 0);
+ CBUpdateEdit( lphc, index );
+ }
+ else
+ InvalidateRect(CB_HWND(lphc), &lphc->textRect, TRUE);
+
CB_NOTIFY( lphc, CBN_SELCHANGE );
- InvalidateRect(CB_HWND(lphc), &lphc->textRect, TRUE);
/* fall through */
case LBN_SETFOCUS:
@@ -2078,7 +2085,10 @@
if( lphc->wState & CBF_SELCHANGE )
{
/* no LBN_SELCHANGE in this case, update manually */
- InvalidateRect(CB_HWND(lphc), &lphc->textRect, TRUE);
+ if( lphc->wState & CBF_EDIT )
+ CBUpdateEdit( lphc, (INT)wParam );
+ else
+ InvalidateRect(CB_HWND(lphc), &lphc->textRect, TRUE);
lphc->wState &= ~CBF_SELCHANGE;
}
return lParam;