[PATCH 7/7] Erase week numbers rectangle before drawing new text

Nikolay Sivov nsivov at codeweavers.com
Mon Aug 2 00:48:07 CDT 2010


---
 dlls/comctl32/monthcal.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/dlls/comctl32/monthcal.c b/dlls/comctl32/monthcal.c
index 9fe7f5c..c1c105c 100644
--- a/dlls/comctl32/monthcal.c
+++ b/dlls/comctl32/monthcal.c
@@ -799,6 +799,7 @@ static void MONTHCAL_PaintWeeknumbers(const MONTHCAL_INFO *infoPtr, HDC hdc, con
   INT i, prev_month;
   SYSTEMTIME st;
   WCHAR buf[80];
+  HBRUSH hbr;
   RECT r;
 
   if (!(infoPtr->dwStyle & MCS_WEEKNUMBERS)) return;
@@ -868,6 +869,13 @@ static void MONTHCAL_PaintWeeknumbers(const MONTHCAL_INFO *infoPtr, HDC hdc, con
   }
 
   r = infoPtr->calendars[calIdx].weeknums;
+
+  /* erase whole week numbers area */
+  hbr = CreateSolidBrush(infoPtr->monthbk);
+  FillRect(hdc, &r, hbr);
+  DeleteObject(hbr);
+
+  /* reduce rectangle to one week number */
   r.bottom = r.top + infoPtr->height_increment;
 
   for(i = 0; i < 6; i++) {
-- 
1.5.6.5



--------------090605090902070803040609--



More information about the wine-patches mailing list