我有自己的类(CMyEdit)从CEdit自己的验证过程中继承。
我挂钩事件ON_CHAR并ON_UPDATE验证用户输入。
如果输入有效,CMyEdit::isOk则属性切换为true。CMyEdit在每次更改 EditBox 内容期间确认有效性。
对话可以通过 确认有效性CMyEdit::isOk。
我已经覆盖CEdit::SetWindowText()
inline void CMyEdit::SetWindowText(LPCTSTR lsText)
{
CEdit::SetWindowText(lsText);
Validate(); //set isOk true or false
}
但是如果 dialog 使用DDX_Text,则没有方法正在运行(也没有EN_CHANGE,也没有SetWindowText).
同样的问题是,当用户从剪贴板 ( WM_PASTE) 中输入值时。
如何挂钩编辑框内容的这种变化?