我是中文xp系统,工程可能以前建立的时候,用的是中文资源,我把 资源都改成英文了1.但是我的AfxMessageBox以及我的filedialog对话框弹出来,都还是中文,如何改成英文?
2.我的系统的所有对话框都通过COLORREF cf = RGB(213, 229, 255);SetDialogBkColor(cf);设置成了蓝色,但是我的AfxMessageBox以及MessageBox依然是灰色,如何修改?多谢各位!

解决方案 »

  1.   

    第一点应该是在英文系统中,自动显示英文吧,重点大家看看如何解决第二个问题
    如何把我的系统对话框如FileDialog,AfxMessageBox也改成我要求的颜色?
      

  2.   

    ==============================================================================
    借路问一下,
    自定义对话框中,
    label为灰色,
    tab ctrl前景为白色,
    反复参考了label的style和属性,发现没有合适的设置,
    如何将label 放到tab ctrl上,且保持 label的背景融入到tab ctrl的前景中。
    ===================================================================================
    解决此问题的建议,开新贴撒分
      

  3.   

    SetDialogBkColor(cf);只是设置工程中创建的对话框颜色,对系统对话框不起作用,可用皮肤的功能改变系统对话框样式,不过比较简单的办法如羽战士所说,自己创建一个类似AFxMessageBox对话框...
      

  4.   

    设置一个全局信息框函数
    //全局信息框函数声明,放在主程序.h中
    int GlobalMessageBox(LPCTSTR str_Msg, 
         LPCTSTR str_Title=NULL,
         UINT nBtnType=IDOK);
    //全局信息框函数
    //str_Msg : 信息串指针
    //str_Title: 信息框标题
    //nBtnType:按钮类型 IDOK, IDYES|IDNO
    int GlobalMessageBox(LPCTSTR str_Msg, LPCTSTR str_Title, UINT nBtnType)
    {
    CMyMessageBox dlg;

    if (str_Msg!=NULL)
    dlg.ptr_MsgStr=str_Msg;
    else
            dlg.ptr_MsgStr=NULL;
        
    if(str_Title!=NULL)
    dlg.ptr_MsgTitle=str_Title;
    else
    dlg.ptr_MsgTitle=NULL; dlg.nBtnType=nBtnType;

        return dlg.DoModal();
    }CMyMessageBox是CDialog的派生类,在其中实现对话框颜色样式以及按钮风格等的设置重画等。
    在调用AfxMessageBox或者MessageBox处,用GlobalMessageBox替换即可。
      

  5.   

    楼上有没有一个现成的CMyMessageBox类?
    这个类实现起来,估计代码量不小,很多情况需要处理。
      

  6.   

    有呀,但我这个CMyMessageBox类派生自我自写的CMyDialog类,在CMyDialog中实现了自绘风格对话框,这个风格不一定是你需要的,不过稍加修改就可以实现,如果需要给我QQ或邮箱发给你