小弟我的OnDraw函数里双缓冲的有关问题,

我的OnDraw函数里双缓冲的问题,急!
这是OnDraw函数,我想先用MemDC画一个虚拟的图,然后再用BITBLT复制给pDC,但这样怎么我的视图里都是白色的了?什么都没画出来,各位帮忙看看.
我这么做的目的是,这样做可以避免客户区频繁闪烁的问题,大家帮我看看问题出在哪吧.谢谢
void   CCalendarView::OnDraw(CDC*   pDC)
{
CCalendarDoc*   pDoc   =   GetDocument();
ASSERT_VALID(pDoc);

RECT rect;
GetClientRect(&rect);

CDC MemDC;
MemDC.CreateCompatibleDC(pDC);


//设置默认焦点为今天
        m_btnDateChange[m_iTaborder].SetFocus();

        //创建设置字体
CFont   m_font,*m_pOldFont;
        m_font.CreateFont(int(20   *   m_fSizeY),
int(7   *   m_fSizeX),
0,  
0,
FW_BOLD,  
FALSE,
FALSE,  
0,  
ANSI_CHARSET,
OUT_DEFAULT_PRECIS,  
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH   |   FF_SWISS,  
_T( "Arial "));                                  
m_pOldFont   =   pDC-> SelectObject(&m_font);

CString   strDate;
strDate.Format( "%4d年%2d月 ",   m_odtCurrentDate.GetYear(),   m_odtCurrentDate.GetMonth());
        MemDC.TextOut(int(320   *   m_fSizeX),   int(BUTTONTOTOP   *   m_fSizeY),   strDate);
       

//根据视口变化动态调整按钮控件大小
int   i_Size[5]   =   {50,   105,   520,   610,   665};
for(int   j=0;   j <5;   j++)
{
        m_btnDateChange[j].MoveWindow(  
                                                        int(i_Size[j]   *   m_fSizeX),  
                        int(BUTTONTOTOP   *   m_fSizeY),
                        int(BUTTONWIDTH   *   m_fSizeX),
                        int(BUTTONHEIGHT   *   m_fSizeY),
                        true
    );
}

/*   绘制日历第一行   */
        CString   str[7]   =   { "Sun ",   "Mon ",   "Tue ",   "Wed ",   "Thu ",   "Fri ",   "Sat "};
        CBitmap                 m_bmBackGround;
CBrush                   m_brBackGround;
CBrush                   *m_pbrBackGround;
m_bmBackGround.LoadBitmap(IDB_BITMAP5);
//位图背景作为画刷
m_brBackGround.CreatePatternBrush(&m_bmBackGround);
m_pbrBackGround   =   MemDC.SelectObject(&m_brBackGround);

//绘制星期矩形
for   (int   i   =   0;   i   <   7;   i++)
{
MemDC.Rectangle(int((RECWIDTH   *   i   +   WEEKTOTOP   -   1)   *   m_fSizeX),
      int(WEEKTOTOP   *   m_fSizeY),