Sync to Wine-20050524:
[reactos.git] / reactos / lib / comctl32 / monthcal.c
index 84aa1db..75fa4e4 100644 (file)
@@ -473,29 +473,23 @@ static void MONTHCAL_Refresh(MONTHCAL_INFO *infoPtr, HDC hdc, PAINTSTRUCT* ps)
   SetTextColor(hdc, infoPtr->titletxt);\r
   currentFont = SelectObject(hdc, infoPtr->hBoldFont);\r
 \r
-  /* titlemonth->left and right are set in MONTHCAL_UpdateSize */\r
-  titlemonth->left   = title->left;\r
-  titlemonth->right  = title->right;\r
-\r
   GetLocaleInfoW( LOCALE_USER_DEFAULT,LOCALE_SMONTHNAME1+infoPtr->currentMonth -1,\r
                  buf1,countof(buf1));\r
   wsprintfW(buf, fmt1W, buf1, infoPtr->currentYear);\r
 \r
-  if(IntersectRect(&rcTemp, &(ps->rcPaint), titlemonth))\r
+  if(IntersectRect(&rcTemp, &(ps->rcPaint), title))\r
   {\r
-    DrawTextW(hdc, buf, strlenW(buf), titlemonth,\r
+    DrawTextW(hdc, buf, strlenW(buf), title,\r
                         DT_CENTER | DT_VCENTER | DT_SINGLELINE);\r
   }\r
 \r
-  SelectObject(hdc, infoPtr->hFont);\r
-\r
 /* titlemonth left/right contained rect for whole titletxt('June  1999')\r
   * MCM_HitTestInfo wants month & year rects, so prepare these now.\r
   *(no, we can't draw them separately; the whole text is centered)\r
   */\r
   GetTextExtentPoint32W(hdc, buf, strlenW(buf), &size);\r
-  titlemonth->left = title->right / 2 - size.cx / 2;\r
-  titleyear->right = title->right / 2 + size.cx / 2;\r
+  titlemonth->left = title->right / 2 + title->left / 2 - size.cx / 2;\r
+  titleyear->right = title->right / 2 + title->left / 2 + size.cx / 2;\r
   GetTextExtentPoint32W(hdc, buf1, strlenW(buf1), &size);\r
   titlemonth->right = titlemonth->left + size.cx;\r
   titleyear->left = titlemonth->right;\r
@@ -524,6 +518,7 @@ static void MONTHCAL_Refresh(MONTHCAL_INFO *infoPtr, HDC hdc, PAINTSTRUCT* ps)
   infoPtr->wdays.left   = infoPtr->days.left   = infoPtr->weeknums.right;\r
 /* draw day abbreviations */\r
 \r
+  SelectObject(hdc, infoPtr->hFont);\r
   SetBkColor(hdc, infoPtr->monthbk);\r
   SetTextColor(hdc, infoPtr->trailingtxt);\r
 \r
@@ -673,9 +668,9 @@ static void MONTHCAL_Refresh(MONTHCAL_INFO *infoPtr, HDC hdc, PAINTSTRUCT* ps)
     wsprintfW(buf, fmt2W, buf1, buf2);\r
     SelectObject(hdc, infoPtr->hBoldFont);\r
 \r
+    DrawTextW(hdc, buf, -1, &rtoday, DT_CALCRECT | DT_LEFT | DT_VCENTER | DT_SINGLELINE);\r
     if(IntersectRect(&rcTemp, &(ps->rcPaint), &rtoday))\r
     {\r
-      DrawTextW(hdc, buf, -1, &rtoday, DT_CALCRECT | DT_LEFT | DT_VCENTER | DT_SINGLELINE);\r
       DrawTextW(hdc, buf, -1, &rtoday, DT_LEFT | DT_VCENTER | DT_SINGLELINE);\r
     }\r
     SelectObject(hdc, infoPtr->hFont);\r
@@ -1424,18 +1419,19 @@ MONTHCAL_LButtonDown(MONTHCAL_INFO *infoPtr, LPARAM lParam)
                           0,\r
                         WS_VISIBLE | WS_CHILD |UDS_SETBUDDYINT,\r
                         infoPtr->titleyear.left+3,infoPtr->titlebtnnext.top,\r
-                        infoPtr->titleyear.right-infoPtr->titleyear.left,\r
+                        infoPtr->titleyear.right-infoPtr->titleyear.left+4,\r
                         infoPtr->textHeight,\r
                         infoPtr->hwndSelf,\r
                         NULL,\r
                         NULL,\r
                         NULL);\r
+    SendMessageW( infoPtr->hWndYearEdit, WM_SETFONT, (WPARAM) infoPtr->hBoldFont, (LPARAM)TRUE);\r
     infoPtr->hWndYearUpDown=CreateWindowExW(0,\r
                         UPDOWN_CLASSW,\r
                           0,\r
                         WS_VISIBLE | WS_CHILD |UDS_SETBUDDYINT|UDS_NOTHOUSANDS|UDS_ARROWKEYS,\r
-                        infoPtr->titleyear.right+6,infoPtr->titlebtnnext.top,\r
-                        20,\r
+                        infoPtr->titleyear.right+7,infoPtr->titlebtnnext.top,\r
+                        18,\r
                         infoPtr->textHeight,\r
                         infoPtr->hwndSelf,\r
                         NULL,\r
@@ -1733,7 +1729,7 @@ static void MONTHCAL_UpdateSize(MONTHCAL_INFO *infoPtr)
 \r
   xdiv = (dwStyle & MCS_WEEKNUMBERS) ? 8 : 7;\r
 \r
-  infoPtr->width_increment = size.cx * 2;\r
+  infoPtr->width_increment = size.cx * 2 + 4;\r
   infoPtr->height_increment = infoPtr->textHeight;\r
   left_offset = (rcClient.right - rcClient.left) - (infoPtr->width_increment * xdiv);\r
 \r
@@ -1852,7 +1848,7 @@ MONTHCAL_Create(HWND hwnd, WPARAM wParam, LPARAM lParam)
   /* initialize info structure */\r
   /* FIXME: calculate systemtime ->> localtime(substract timezoneinfo) */\r
 \r
-  GetSystemTime(&infoPtr->todaysDate);\r
+  GetLocalTime(&infoPtr->todaysDate);\r
   MONTHCAL_SetFirstDayOfWeek(infoPtr, (LPARAM)-1);\r
   infoPtr->currentMonth = infoPtr->todaysDate.wMonth;\r
   infoPtr->currentYear = infoPtr->todaysDate.wYear;\r