首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • DDV_MaxChars使用OK,但是显示的错误信息抓取不到,也没有实现多国语言的问题
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • MorningTea
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-19 18:01:00 楼主
    我的代码就是这样写的:
    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);
    }
    }
    88  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • MorningTea
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 15:30:051楼 得分:0
    居然没人回答,不过的确很间的,我当初就是脑袋进水了,想了半天没弄明白~~555555555

    我贴出来,我在我的RC里面把对应language的AFXRES.RC include进来就可以了
    #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENW)
    #ifdef _WIN32
    LANGUAGE LANG_ENGLISH, 0xC
    #pragma code_page(1252)
    #endif //_WIN32
    #include  "afxres.rc" //我就加了这句

    希望大家顶下,偶把分送掉

    希望大家不要像我,基本工不扎实,我是时候要多复习下-_-#
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mycool2001
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 15:33:342楼 得分:0
    接分!我是用INI文件做的多语言,改动很方便!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • MorningTea
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 16:35:273楼 得分:0
    ini,那不是文件也很大,多国就需要多个ini,还是全部放在同一个ini?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mycool2001
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 08:15:094楼 得分:0
    文件不大,放在多个文件里面阿,启动的时候遍历一下文件夹把所有的语言名称加入到菜单中让用户自己选择语言。
    我做了一个库,目前可以自动替换 combox clistctrl ctab lable .... 等比较常用的控件中的文本。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved