以下是CFileDialog界面中的资源的ID,在用CFileDialog单独产生"打开"或"保存"对话框时,Open 的Button的资源ID值1是好用的,但是连续用"打开"和"保存"对话框时,产生的"保存"对话框的"保存"按钮就不能变成英文界面,不知是什么原因,请高手们帮助!!!!
Control Name Type    ID 
Open         Button   1 
Cancel       Button   2 
folder       ComboBox 1137 
ToolBar      ToolBar  1088        *
FolderView   ListView 1           *
File Name    Static   1090 
File Name    Edit     1152 
File Extension Static 1091
File Extension Combo  1136 
Read Only      Button 1040 
Help Button    Button 1038

解决方案 »

  1.   

    重载PretranslateMessage() 函数截获 WM_SHOWWINDOW 消息,先将这两个按纽的文字换成英文,再显示该窗口
    GetDlgItem,         //得到按纽句柄
    SetWindowText,      //设置按纽文字
    ShowWindow,         //显示该对话框试试行不行,我觉得这么做应该可以
      

  2.   

    另外我在重载PretranslateMessage() 的函数中设置了一个断点,它并不进入啊?
      

  3.   

    To: oyljerry勇敢的心
    我不会用SPY,你有没有别的办法啊?
      

  4.   

    我用SPY捕获到的保存按钮的值是000106B8,但是取不到pWnd ,它的值为空啊.是怎么回事啊?CWnd* pWnd;
    pWnd = pParent->GetDlgItem(0x000106B8);
      

  5.   

    0x000106B8这个取到的是Handle,我取到的Control ID都是00000001啊.还是没有办法将保存按钮变成Save As啊
      

  6.   

    http://www.codeproject.com/cpp/mult_lang_support/mult_lang_support_demo1.zip上面的是一个多语言程序的例子,有代码,我再给你找找那个介绍页面。
    我用过这个方法,很不错,可以把打开保存对话框作成多语言版本
      

  7.   

    http://www.codeproject.com/cpp/mult_lang_support.asp找到了,你可以参考一下!