iceman_k
3rd September 2005 20:28 UTC
Io & Rtl
I noticed that when the RTL flag is specified in InstallOptions, the controls and their text is right-justified propertly, however the vertical scrollbar is still to the right as it is for LTR settings.
AFAIK, RTL GUIs have the vertical scrollbar to the left.
Looking at the InstallOptions.cpp code, I see that even though WS_EX_RIGHT and WS_EX_RTLREADING flags are specified for RTL dialogs, the WS_EX_LAYOUTRTL and WS_EX_LEFTSCROLLBAR flags are omitted.
Is my understanding correct that these flags should be, in fact, included when creating RTL controls?
kichik
6th September 2005 17:51 UTC
WS_EX_LAYOUTRTL is only available on very specific versions of Windows. This is why it's emulated by moving the dialog items to the right and the styles. WS_EX_LEFTSCROLLBAR is indeed missing. Please submit a bug report or a feature request, however you want to look at it, and I'll try to get to it before 2.10.
iceman_k
7th September 2005 02:14 UTC
AFAIK, Windows 95 is the only Windows platform which does not support WS_EX_LAYOUTRTL, so I suppose as long as NSIS supports it, we cannot use this flag.
I will file a bug report regarding WS_EX_LEFTSCROLLBAR.
p.s. Would it be possible to use WS_EX_LAYOUTRTL on Win 98 and above and only use the workaround on Win 95?
p.p.s. I could update the code to add the WS_EX_LEFTSCROLLBAR flag to InstallOptions.cpp if you wish.
kichik
8th September 2005 17:44 UTC
Accorinding to MSDN WS_EX_LAYOUTRTL is only available on Arabic and Hebrew versions of Windows 98/Me and Windows 2000/XP, so it's more than just Windows 95.
If you submit a complete patch, it'll be fixed earlier.
iceman_k
8th September 2005 18:38 UTC
OK- I will submit a patch for WS_EX_LEFTSCROLLBAR.