Nikolay Sivov : comctl32/monthcal: Implement handler for WM_ERASEBKGND.
Alexandre Julliard
julliard at winehq.org
Tue Oct 13 10:52:53 CDT 2009
Module: wine
Branch: master
Commit: 7beaa88ed9efcb048595f56e403dca16363a4486
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7beaa88ed9efcb048595f56e403dca16363a4486
Author: Nikolay Sivov <bunglehead at gmail.com>
Date: Tue Oct 13 04:16:31 2009 +0400
comctl32/monthcal: Implement handler for WM_ERASEBKGND.
---
dlls/comctl32/monthcal.c | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/dlls/comctl32/monthcal.c b/dlls/comctl32/monthcal.c
index dc61d01..8440e15 100644
--- a/dlls/comctl32/monthcal.c
+++ b/dlls/comctl32/monthcal.c
@@ -1015,8 +1015,7 @@ static void MONTHCAL_PaintCalendar(MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTS
static void MONTHCAL_Refresh(MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT *ps)
{
- RECT *title=&infoPtr->title;
- HBRUSH hbr;
+ RECT *title = &infoPtr->title;
COLORREF old_text_clr, old_bk_clr;
HFONT old_font;
RECT r_temp;
@@ -1025,11 +1024,6 @@ static void MONTHCAL_Refresh(MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT
old_bk_clr = GetBkColor(hdc);
old_font = GetCurrentObject(hdc, OBJ_FONT);
- /* fill background */
- hbr = CreateSolidBrush (infoPtr->bk);
- FillRect(hdc, &ps->rcPaint, hbr);
- DeleteObject(hbr);
-
/* draw title, redraw all its elements */
if(IntersectRect(&r_temp, &(ps->rcPaint), title))
MONTHCAL_PaintTitle(infoPtr, hdc, ps);
@@ -1048,7 +1042,6 @@ static void MONTHCAL_Refresh(MONTHCAL_INFO *infoPtr, HDC hdc, const PAINTSTRUCT
SetTextColor(hdc, old_text_clr);
}
-
static LRESULT
MONTHCAL_GetMinReqRect(const MONTHCAL_INFO *infoPtr, LPRECT lpRect)
{
@@ -2114,6 +2107,22 @@ MONTHCAL_Paint(MONTHCAL_INFO *infoPtr, HDC hdc_paint)
}
static LRESULT
+MONTHCAL_EraseBkgnd(const MONTHCAL_INFO *infoPtr, HDC hdc)
+{
+ HBRUSH hbr;
+ RECT rc;
+
+ if (!GetClipBox(hdc, &rc)) return FALSE;
+
+ /* fill background */
+ hbr = CreateSolidBrush (infoPtr->bk);
+ FillRect(hdc, &rc, hbr);
+ DeleteObject(hbr);
+
+ return TRUE;
+}
+
+static LRESULT
MONTHCAL_SetFocus(const MONTHCAL_INFO *infoPtr)
{
TRACE("\n");
@@ -2529,6 +2538,9 @@ MONTHCAL_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
case WM_PAINT:
return MONTHCAL_Paint(infoPtr, (HDC)wParam);
+ case WM_ERASEBKGND:
+ return MONTHCAL_EraseBkgnd(infoPtr, (HDC)wParam);
+
case WM_SETFOCUS:
return MONTHCAL_SetFocus(infoPtr);
More information about the wine-cvs
mailing list