关于用updatedata()重绘对话框解决方案

关于用updatedata()重绘对话框
C/C++ code
//定义颜色主题
void CCheckViewDlg::GetColorTheme(const int& m_themenum)
{
    switch (m_themenum)
    {
    case 0:
        m_mainbgcolor=RGB(0,0,0);
        m_staticcolor=RGB(51,143,221);
        m_btncolor=RGB(51,143,221);
        m_selectbtncolor=RGB(97,61,212);
        m_textcolor=RGB(255,255,255);
        break;
    case 1:
        m_mainbgcolor=RGB(235,235,235);
        m_staticcolor=RGB(67,110,238);
        m_btncolor=RGB(67,110,238);
        m_selectbtncolor=RGB(69,139,116);
        m_textcolor=RGB(255,255,255);
        break;
    case 2:
        m_mainbgcolor=RGB(235,235,235);
        m_staticcolor=RGB(221,160,221);
        m_btncolor=RGB(216,191,216);
        m_selectbtncolor=RGB(217,112,214);
        m_textcolor=RGB(255,255,255);
        break;
    }

}

控件都是自制的,以上是我预设的颜色主题,想通过themenun的变化来改变对话框的颜色主题,网上查到用updatedata()函数可以重绘对话框,但是我找了半天也不知道该如何用updatedata()函数,特来请教各位大侠。

C/C++ code
//这是初始化对话框函数中初始化实例
         m_thirdLevel2.SetSpeTextCaption( TEXT("2400") );
    m_thirdLevel2.SetSpeBackgroundColor( m_staticcolor );
    m_thirdLevel2.SetSpeTextColor( m_textcolor );
    m_thirdLevel2.SetSpeTextFontPointSize( 150 );
最好给出个实例

------解决方案--------------------
updatedata()是用来刷新空间对应的变量显示的,不是重绘对话框,可以用invalidate()试试
------解决方案--------------------
GetColorTheme(m_themenum);
Invalidate();
GetColorTheme后这些设置的值传给谁用啊,在OnPaint消息里面是怎么处理的?
------解决方案--------------------
Invalidate就是激活OnPaint的