我需要在对话框中验证某些ctrl的输入。 我正在使用DDV_ ..函数来处理验证,
但是,CDataExchange会提示用户输入错误的消息框不是我需要的(它使用单词"整数"但我的用户不熟悉这个单词)。
我仍然知道DDV ..会处理输入的验证,但我想创建一个自定义警报消息。我该怎么做?
答案 0 :(得分:0)
如果要更改文本,则需要编写自己的DDX验证例程。
DDX-Stuff非常简单。 查看MFC源代码。 DDX_Text只调用一个名为_Afx_DDX_TextWithFormat的静态MFC函数。此函数只调用sscanf,如果失败则显示错误提示。
重要的是首先调用pDX-> PrepareEditCtrl。检查这是失败还是验证呼叫(pDX-> m_bSaveAndValidate)。并调用pDX->失败时失败。
只需复制代码并编写自己的私有DDX例程即可。
源代码可在此处的MFC安装中找到:" C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ src \ mfc \ dlgdata.cpp"