У меня есть элемент управления, производный от CEdit, который отображает строку «N/A», когда неопределенные данные равны нулю. Недавно я добавил код для очистки элемента управления (SetWindowText ("" ); )когда он получает фокус и возвращается к "N/A" (SetWindowText ("N/A" ))когда фокус теряется, если пользователь оставил элемент управления пустым.
Единственная проблема заключается в том, что установка текста окна на "" или "N/A" запускает EN _CHANGE, поэтому мой диалог считает, что данные изменились.
Как избежать срабатывания EN _CHANGE при вызове SetWindowText (WM _SETTEXT )?
ПРИМЕЧАНИЯ
-Я знаю, что могу установить элемент управления редактированием в Multiline=TRUE, но это неприемлемо для меня.
-Мое приложение — MBCS, поэтому я не могу использовать SetCueBanner
-Я хочу элегантное решение. Временная установка родительского окна в NULL не является элегантным решением.
РЕДАКТИРОВАТЬ:
-Я хочу, чтобы решение было в моем пользовательском элементе управления, а не в каждом диалоговом окне
Спасибо