- RECT rect;
- if (GetUpdateRect((HWND) GetHWND(), &rect, FALSE))
- {
- if (m_iconized)
- {
- HICON the_icon;
- if (m_icon.Ok())
- the_icon = (HICON) m_icon.GetHICON();
- else
- the_icon = (HICON) m_defaultIcon;
-
- PAINTSTRUCT ps;
- // Hold a pointer to the dc so long as the OnPaint() message
- // is being processed
- HDC cdc = BeginPaint((HWND) GetHWND(), &ps);
-
- // Erase background before painting or we get white background
- this->MSWDefWindowProc(WM_ICONERASEBKGND,(WORD)(LONG) ps.hdc,0L);
-
- if (the_icon)
- {
- RECT rect;
- ::GetClientRect((HWND) GetHWND(), &rect);
- int icon_width = 32;
- int icon_height = 32;
- int icon_x = (int)((rect.right - icon_width)/2);
- int icon_y = (int)((rect.bottom - icon_height)/2);
- DrawIcon(cdc, icon_x, icon_y, the_icon);
- }
-
- EndPaint((HWND) GetHWND(), &ps);
- }
- else