From f730157ce669f30f41d272b0e97f3db111efd2ef Mon Sep 17 00:00:00 2001 From: Duane Clark Date: Mon, 11 Mar 2002 01:08:29 +0000 Subject: [PATCH] Test bUnicode and call appropriate DrawText routine. --- dlls/comctl32/header.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/dlls/comctl32/header.c b/dlls/comctl32/header.c index 29b35cf14d2..38a3b2186d1 100644 --- a/dlls/comctl32/header.c +++ b/dlls/comctl32/header.c @@ -158,7 +158,7 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack) RECT r; INT oldBkMode; - TRACE("DrawItem(iItem %d bHotTrack %d)\n", iItem, bHotTrack); + TRACE("DrawItem(iItem %d bHotTrack %d unicode flag %d)\n", iItem, bHotTrack, infoPtr->bUnicode); if (!infoPtr->bRectsValid) HEADER_SetItemBounds(hwnd); @@ -253,7 +253,11 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack) GetObjectA (phdi->hbm, sizeof(BITMAP), (LPVOID)&bmp); textRect = r; - DrawTextW (hdc, phdi->pszText, -1, + if (infoPtr->bUnicode) + DrawTextW (hdc, phdi->pszText, -1, + &textRect, DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT); + else + DrawTextA (hdc, (LPCSTR)phdi->pszText, -1, &textRect, DT_LEFT|DT_VCENTER|DT_SINGLELINE|DT_CALCRECT); tx = textRect.right - textRect.left; ry = r.bottom - r.top; @@ -310,7 +314,11 @@ HEADER_DrawItem (HWND hwnd, HDC hdc, INT iItem, BOOL bHotTrack) r.left += 3 ; r.right -= 3; SetTextColor (hdc, (bHotTrack) ? COLOR_HIGHLIGHT : COLOR_BTNTEXT); - DrawTextW (hdc, phdi->pszText, -1, + if (infoPtr->bUnicode) + DrawTextW (hdc, phdi->pszText, -1, + &r, uTextJustify|DT_END_ELLIPSIS|DT_VCENTER|DT_SINGLELINE); + else + DrawTextA (hdc, (LPCSTR)phdi->pszText, -1, &r, uTextJustify|DT_END_ELLIPSIS|DT_VCENTER|DT_SINGLELINE); if (oldBkMode != TRANSPARENT) SetBkMode(hdc, oldBkMode);