我有自己的类(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
) 中输入值时。
如何挂钩编辑框内容的这种变化?