在 Win32 属性表上,文本“OK”、“Cancel”、“Apply”和“Help”会自动以系统语言显示。如果软件的语言与系统的语言不同,这可能是个问题。
例如,如果客户在英文 Windows 上安装我们软件的法文版本,属性表的内容将为法文,但属性表底部的标准按钮无论如何都是英文的。
有谁知道我该如何更改这些文本。
实际上更改这些文本非常简单。唯一必须做的是从 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...) ;
}