Проблема макета RTL для листов свойств (MFC) - PullRequest
5 голосов
/ 18 января 2011

Я использую свое английское приложение на арабском Windows. Он содержит интерфейс свойств (MFC). Кажется, что все в порядке (слева направо или LTR), кроме кнопок (OK, Отмена, Применить и Справка), которые являются справа налево или RTL. А как сделать кнопки LTR?

  • Я поиграл с флагом PSH_RTLREADING , упомянутым в MSDN, но он касается только заголовка окна, а не кнопок.

  • Кроме того, я заметил это предположение , но нет хорошего решения.

1 Ответ

1 голос
/ 25 мая 2011

Ответ дают Раймонд Чен [1] и другой сотрудник Microsoft [2];Вы должны удалить стиль WS_EX_LAYOUTRTL из кнопок в окне, созданном вашим CDialog (он же CPropertySheet).Вы можете сделать это глобально, когда создаете свой CMainFrame и наследуете его для всех дочерних окон, или локально, изменяя стиль окна с GWL_EXSTYLE.

[1] http://blogs.msdn.com/b/oldnewthing/archive/2010/06/11/10023274.aspx

[2]http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/057612e7-6cd4-44cf-a746-6370ace5de09

...