MFC,CDataExchange:覆盖消息框,提醒用户输入错误

时间:2015-03-15 14:36:17

标签: validation input mfc dialog

我需要在对话框中验证某些ctrl的输入。 我正在使用DDV_ ..函数来处理验证,

但是,CDataExchange会提示用户输入错误的消息框不是我需要的(它使用单词"整数"但我的用户不熟悉这个单词)。

我仍然知道DDV ..会处理输入的验证,但我想创建一个自定义警报消息。我该怎么做?

1 个答案:

答案 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"