user32: Added support for WS_EX_RIGHT in the button control.
This commit is contained in:
parent
24dbaa0856
commit
bbd9e229e3
|
@ -567,9 +567,8 @@ static LRESULT WINAPI ButtonWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* Convert button styles to flags used by DrawText.
|
* Convert button styles to flags used by DrawText.
|
||||||
* TODO: handle WS_EX_RIGHT extended style.
|
|
||||||
*/
|
*/
|
||||||
static UINT BUTTON_BStoDT(DWORD style)
|
static UINT BUTTON_BStoDT( DWORD style, DWORD ex_style )
|
||||||
{
|
{
|
||||||
UINT dtStyle = DT_NOCLIP; /* We use SelectClipRgn to limit output */
|
UINT dtStyle = DT_NOCLIP; /* We use SelectClipRgn to limit output */
|
||||||
|
|
||||||
|
@ -593,6 +592,8 @@ static UINT BUTTON_BStoDT(DWORD style)
|
||||||
/* all other flavours have left aligned text */
|
/* all other flavours have left aligned text */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ex_style & WS_EX_RIGHT) dtStyle = DT_RIGHT | (dtStyle & ~(DT_LEFT | DT_CENTER));
|
||||||
|
|
||||||
/* DrawText ignores vertical alignment for multiline text,
|
/* DrawText ignores vertical alignment for multiline text,
|
||||||
* but we use these flags to align label manually.
|
* but we use these flags to align label manually.
|
||||||
*/
|
*/
|
||||||
|
@ -626,10 +627,11 @@ static UINT BUTTON_BStoDT(DWORD style)
|
||||||
static UINT BUTTON_CalcLabelRect(HWND hwnd, HDC hdc, RECT *rc)
|
static UINT BUTTON_CalcLabelRect(HWND hwnd, HDC hdc, RECT *rc)
|
||||||
{
|
{
|
||||||
LONG style = GetWindowLongW( hwnd, GWL_STYLE );
|
LONG style = GetWindowLongW( hwnd, GWL_STYLE );
|
||||||
|
LONG ex_style = GetWindowLongW( hwnd, GWL_EXSTYLE );
|
||||||
WCHAR *text;
|
WCHAR *text;
|
||||||
ICONINFO iconInfo;
|
ICONINFO iconInfo;
|
||||||
BITMAP bm;
|
BITMAP bm;
|
||||||
UINT dtStyle = BUTTON_BStoDT(style);
|
UINT dtStyle = BUTTON_BStoDT( style, ex_style );
|
||||||
RECT r = *rc;
|
RECT r = *rc;
|
||||||
INT n;
|
INT n;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue