DDV_MaxChars使用OK,但是显示的错误信息抓取不到,也没有实现多国语言的问题

MorningTea MorningTea 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的代码就是这样写的:
void CScanConfig::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CScanConfig)
DDX_Text(pDX, IDC_SCANCONFIGNAME, m_ScanConfigName);
DDV_MaxChars(pDX, m_ScanConfigName, 128);--》执行没问题

//}}AFX_DATA_MAP
}

/////////////////////////////////////////////////////////////////////////////--》这个是mfc里面的定义
// Max Chars Dialog Data Validation

void AFXAPI DDV_MaxChars(CDataExchange* pDX, CString const& value, int nChars)
{
ASSERT(nChars >= 1); // allow them something
if (pDX->m_bSaveAndValidate && value.GetLength() > nChars)
{
TCHAR szT[32];
wsprintf(szT, _T("%d"), nChars);
CString prompt;
AfxFormatString1(prompt, AFX_IDP_PARSE_STRING_SIZE, szT);--》这里AFX_IDP_PARSE_STRING_SIZE抓取不出来,不知道为什么呢?我不大明白MFC的这个多国语言要如何实现~~ 英文默认的也没有抓取出来,是空白。。。 请大家帮忙~~ 不懂~~-_-#,谢谢
AfxMessageBox(prompt, MB_ICONEXCLAMATION, AFX_IDP_PARSE_STRING_SIZE);
prompt.Empty(); // exception prep
pDX->Fail();
}
else if (pDX->m_hWndLastControl != NULL && pDX->m_bEditLastControl)
{
// limit the control max-chars automatically
::SendMessage(pDX->m_hWndLastControl, EM_LIMITTEXT, nChars, 0);
}
}
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
MorningTea
界面 15,976 成员 115,866 内容