fixed bug #1841573 - RTL components & instfiles page
WS_EX_LAYOUTRTL can be used for individual controls git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5387 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
80da480c7a
commit
668fe450a4
2 changed files with 11 additions and 2 deletions
|
@ -75,7 +75,7 @@ void NSDFUNC ConvertStyleToRTL(enum nsControlType type, LPDWORD style, LPDWORD e
|
|||
|
||||
case NSCTL_TREE:
|
||||
*style |= TVS_RTLREADING;
|
||||
*exStyle |= WS_EX_RIGHT;
|
||||
*exStyle |= WS_EX_RIGHT | WS_EX_LAYOUTRTL;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -435,6 +435,7 @@ void CDialogTemplate::CTrimToString(WORD id, char *str, int margins) {
|
|||
void CDialogTemplate::ConvertToRTL() {
|
||||
for (unsigned int i = 0; i < m_vItems.size(); i++) {
|
||||
bool addExStyle = false;
|
||||
bool addExLeftScrollbar = true;
|
||||
char *szClass;
|
||||
|
||||
if (IS_INTRESOURCE(m_vItems[i]->szClass))
|
||||
|
@ -480,14 +481,22 @@ void CDialogTemplate::ConvertToRTL() {
|
|||
}
|
||||
else if (!IS_INTRESOURCE(m_vItems[i]->szClass) && !stricmp(szClass, "SysTreeView32")) {
|
||||
m_vItems[i]->dwStyle |= TVS_RTLREADING;
|
||||
m_vItems[i]->dwExtStyle |= WS_EX_LAYOUTRTL;
|
||||
addExStyle = true;
|
||||
addExLeftScrollbar = false;
|
||||
}
|
||||
else if (!IS_INTRESOURCE(m_vItems[i]->szClass) && !stricmp(szClass, "SysListView32")) {
|
||||
m_vItems[i]->dwExtStyle |= WS_EX_LAYOUTRTL;
|
||||
addExLeftScrollbar = false;
|
||||
}
|
||||
else addExStyle = true;
|
||||
|
||||
if (addExStyle)
|
||||
m_vItems[i]->dwExtStyle |= WS_EX_RIGHT;
|
||||
if (addExLeftScrollbar)
|
||||
m_vItems[i]->dwExtStyle |= WS_EX_LEFTSCROLLBAR;
|
||||
|
||||
m_vItems[i]->dwExtStyle |= WS_EX_RTLREADING | WS_EX_LEFTSCROLLBAR;
|
||||
m_vItems[i]->dwExtStyle |= WS_EX_RTLREADING;
|
||||
|
||||
m_vItems[i]->sX = m_sWidth - m_vItems[i]->sWidth - m_vItems[i]->sX;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue