Похоже, что в Windows много проблем с правым левым режимом. Я работаю над тем, чтобы исправить некоторые из них, и мне удалось разобраться с некоторыми, и в нашем приложении осталось еще кое-что исправить. Одна странная проблема, которую я обнаружил, связана с вертикальной полосой прокрутки в элементе управления TTreeView.
При изменении BiDiMode на bdRightToLeft, используя SetWindowLong, мне удалось правильно расположить содержимое TreeView и вертикальной полосы прокрутки:
if (TreeView2->BiDiMode == bdRightToLeft)
{
LONG ExStyle = GetWindowLong(TreeView2->Handle, GWL_EXSTYLE);
SetWindowLong(TreeView2->Handle, GWL_EXSTYLE, WS_EX_RTLREADING | WS_EX_RIGHT | WS_EX_LAYOUTRTL | WS_EX_NOINHERITLAYOUT);
}
Однако полоса прокрутки теряет пользовательский стиль, как видно на прикрепленном изображении.
Любые идеи, как это исправить. Является ли создание собственного TScrollingStyleHook правильным / единственным способом исправить это?
Изменить: Все еще не может это исправить. Последующие вопросы:
Спасибо
Информация о версии IDE: Embarcadero C ++ Builder 10.2, версия 25.0.27659.1188
Задача ещё не решена.
Других решений пока нет …