I have my own class (CMyEdit) subclassed from CEdit with own validation procedure.
I hook events ON_CHAR and ON_UPDATE and validate user input.
If the input is valid, attribute CMyEdit::isOk is switched to true. CMyEdit confirms validity during each change of EditBox content.
Dialog could confirm validity by CMyEdit::isOk.
I have overridden CEdit::SetWindowText()
inline void CMyEdit::SetWindowText(LPCTSTR lsText)
{
CEdit::SetWindowText(lsText);
Validate(); //set isOk true or false
}
But if dialog uses DDX_Text, no method is running (Nor EN_CHANGE, neither SetWindowText).
The same problem is, when user put value from clipboard (WM_PASTE).
How to hook this change of EditBox content?