在Win32属性表中替换文本“确定”,“取消”,“应用”和“帮助”

时间:2013-03-14 14:44:43

标签: winapi mfc

在Win32属性表上,文本“确定”,“取消”,“应用”和“帮助”将自动以系统语言显示。如果软件的语言与系统的语言不同,则可能会出现问题。

例如,如果客户在英语Windows上安装我们软件的法语版本,则属性表的内容将使用法语,但属性表底部的标准按钮将使用英语而不管是什么。

有谁知道如何更改这些文本。

1 个答案:

答案 0 :(得分:2)

实际上更改这些文本非常简单。唯一必须做的是从CPropertySheet派生一个类,重写OnInitDialog方法并更改重写的OnInitDialog中的文本。

class CMyPropertySheet : public CPropertySheet
{
public :
  CMyPropertySheet() ;

protected:
  virtual BOOL OnInitDialog();

  DECLARE_MESSAGE_MAP()
} ;

BOOL CMyPropertySheet::OnInitDialog()
{
  ...
  SetDlgItemText(IDOK, whatever..) ;
  SetDlgItemText(0x3021, whatever..) ;   // 0x3021 == IDAPPLY
  SetDlgItemText(IDCANCEL, whatever...) ;
  SetDlgItemText(IDHELP, whatever...) ;
}