Do not block CBN_EDITCHANGE for WM_PASTE or WM_CUT with the NOEDITNOTIFY flag, as these msgs can come directly from the app to the combo wndproc.
diff --git a/controls/combo.c b/controls/combo.c index 7a24964..9be52c4 100644 --- a/controls/combo.c +++ b/controls/combo.c
@@ -1873,9 +1873,6 @@ case WM_SETTEXT: case WM_GETTEXTLENGTH: case WM_CLEAR: - case WM_CUT: - case WM_PASTE: - case WM_COPY: if ((message == WM_GETTEXTLENGTH) && !ISWIN31 && !(lphc->wState & CBF_EDIT)) { int j = SendMessageA( lphc->hWndLBox, LB_GETCURSEL, 0, 0 ); @@ -1891,6 +1888,12 @@ return ret; } else return CB_ERR; + case WM_CUT: + case WM_PASTE: + case WM_COPY: + if( lphc->wState & CBF_EDIT ) + return SendMessageA( lphc->hWndEdit, message, wParam, lParam ); + else return CB_ERR; case WM_DRAWITEM: case WM_DELETEITEM: