fixed bug #1283528 - WS_EX_LEFTSCROLLBAR missing in RTL mode
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4274 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
6a61224015
commit
6a76589a72
2 changed files with 17 additions and 16 deletions
|
@ -928,6 +928,7 @@ int WINAPI createCfgDlg()
|
|||
BOOL fFocused = FALSE;
|
||||
|
||||
#define DEFAULT_STYLES (WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS)
|
||||
#define RTL_EX_STYLES (WS_EX_RTLREADING | WS_EX_LEFTSCROLLBAR)
|
||||
|
||||
for (int nIdx = 0; nIdx < nNumFields; nIdx++) {
|
||||
static struct {
|
||||
|
@ -941,72 +942,72 @@ int WINAPI createCfgDlg()
|
|||
DEFAULT_STYLES,
|
||||
DEFAULT_STYLES | SS_RIGHT,
|
||||
WS_EX_TRANSPARENT,
|
||||
WS_EX_TRANSPARENT | WS_EX_RTLREADING },
|
||||
WS_EX_TRANSPARENT | RTL_EX_STYLES },
|
||||
{ "STATIC", // FIELD_ICON
|
||||
DEFAULT_STYLES | SS_ICON,
|
||||
DEFAULT_STYLES | SS_ICON,
|
||||
0,
|
||||
WS_EX_RTLREADING },
|
||||
RTL_EX_STYLES },
|
||||
{ "STATIC", // FIELD_BITMAP
|
||||
DEFAULT_STYLES | SS_BITMAP,
|
||||
DEFAULT_STYLES | SS_BITMAP,
|
||||
0,
|
||||
WS_EX_RTLREADING },
|
||||
RTL_EX_STYLES },
|
||||
{ "BUTTON", // FIELD_BROWSEBUTTON
|
||||
DEFAULT_STYLES | WS_TABSTOP,
|
||||
DEFAULT_STYLES | WS_TABSTOP,
|
||||
0,
|
||||
WS_EX_RTLREADING },
|
||||
RTL_EX_STYLES },
|
||||
{ "BUTTON", // FIELD_LINK
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_OWNERDRAW,
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_OWNERDRAW | BS_RIGHT,
|
||||
0,
|
||||
WS_EX_RTLREADING },
|
||||
RTL_EX_STYLES },
|
||||
{ "BUTTON", // FIELD_BUTTON
|
||||
DEFAULT_STYLES | WS_TABSTOP,
|
||||
DEFAULT_STYLES | WS_TABSTOP,
|
||||
0,
|
||||
WS_EX_RTLREADING },
|
||||
RTL_EX_STYLES },
|
||||
{ "BUTTON", // FIELD_GROUPBOX
|
||||
DEFAULT_STYLES | BS_GROUPBOX,
|
||||
DEFAULT_STYLES | BS_GROUPBOX | BS_RIGHT,
|
||||
WS_EX_TRANSPARENT,
|
||||
WS_EX_TRANSPARENT | WS_EX_RTLREADING },
|
||||
WS_EX_TRANSPARENT | RTL_EX_STYLES },
|
||||
{ "BUTTON", // FIELD_CHECKBOX
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_TEXT | BS_VCENTER | BS_AUTOCHECKBOX | BS_MULTILINE,
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_TEXT | BS_VCENTER | BS_AUTOCHECKBOX | BS_MULTILINE | BS_RIGHT | BS_LEFTTEXT,
|
||||
0,
|
||||
WS_EX_RTLREADING },
|
||||
RTL_EX_STYLES },
|
||||
{ "BUTTON", // FIELD_RADIOBUTTON
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_TEXT | BS_VCENTER | BS_AUTORADIOBUTTON | BS_MULTILINE,
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_TEXT | BS_VCENTER | BS_AUTORADIOBUTTON | BS_MULTILINE | BS_RIGHT | BS_LEFTTEXT,
|
||||
0,
|
||||
WS_EX_RTLREADING },
|
||||
RTL_EX_STYLES },
|
||||
{ "EDIT", // FIELD_TEXT
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL,
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL | ES_RIGHT,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | WS_EX_RTLREADING },
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | RTL_EX_STYLES },
|
||||
{ "EDIT", // FIELD_FILEREQUEST
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL,
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL | ES_RIGHT,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | WS_EX_RTLREADING },
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | RTL_EX_STYLES },
|
||||
{ "EDIT", // FIELD_DIRREQUEST
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL,
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL | ES_RIGHT,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | WS_EX_RTLREADING },
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | RTL_EX_STYLES },
|
||||
{ "COMBOBOX", // FIELD_COMBOBOX
|
||||
DEFAULT_STYLES | WS_TABSTOP | WS_VSCROLL | WS_CLIPCHILDREN | CBS_AUTOHSCROLL | CBS_HASSTRINGS,
|
||||
DEFAULT_STYLES | WS_TABSTOP | WS_VSCROLL | WS_CLIPCHILDREN | CBS_AUTOHSCROLL | CBS_HASSTRINGS,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | WS_EX_RIGHT | WS_EX_RTLREADING },
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | WS_EX_RIGHT | RTL_EX_STYLES },
|
||||
{ "LISTBOX", // FIELD_LISTBOX
|
||||
DEFAULT_STYLES | WS_TABSTOP | WS_VSCROLL | LBS_DISABLENOSCROLL | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT,
|
||||
DEFAULT_STYLES | WS_TABSTOP | WS_VSCROLL | LBS_DISABLENOSCROLL | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | WS_EX_RIGHT | WS_EX_RTLREADING }
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | WS_EX_RIGHT | RTL_EX_STYLES }
|
||||
};
|
||||
|
||||
FieldType *pField = pFields + nIdx;
|
||||
|
|
|
@ -494,11 +494,11 @@ void CDialogTemplate::ConvertToRTL() {
|
|||
if (addExStyle)
|
||||
m_vItems[i]->dwExtStyle |= WS_EX_RIGHT;
|
||||
|
||||
m_vItems[i]->dwExtStyle |= WS_EX_RTLREADING;
|
||||
m_vItems[i]->dwExtStyle |= WS_EX_RTLREADING | WS_EX_LEFTSCROLLBAR;
|
||||
|
||||
m_vItems[i]->sX = m_sWidth - m_vItems[i]->sWidth - m_vItems[i]->sX;
|
||||
}
|
||||
m_dwExtStyle |= WS_EX_RIGHT | WS_EX_RTLREADING;
|
||||
m_dwExtStyle |= WS_EX_RIGHT | WS_EX_RTLREADING | WS_EX_LEFTSCROLLBAR;
|
||||
}
|
||||
|
||||
// Saves the dialog in the form of DLGTEMPLATE[EX]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue