Замена текстов "ОК", "Отмена", "Применить" и "Справка" в листах свойств Win32

На листе свойств Win32 тексты "ОК", "Отмена", "Применить" и "Справка" автоматически отображаются на языке системы. Это может быть проблемой, если язык Программного обеспечения отличается от языка системы.

Например, если клиент устанавливает версию нашего программного обеспечения на французском языке в Windows на английском языке, содержимое листа свойств будет на французском языке, но стандартные кнопки внизу листа свойств будут на английском языке, не смотря ни на что.

Кто-нибудь знает, как я могу изменить эти тексты.

1 ответ

Решение

На самом деле изменить эти тексты довольно просто. Единственное, что нужно сделать - это извлечь класс из 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...) ;
}
Другие вопросы по тегам