MFC 里面checkbox状态有关问题

MFC 里面checkbox状态问题
在初始状态下,复选框是未未选中状态,添加了点击鼠标事件,点击如果是未选中,则选中


void CPcSetDlg::OnBnClickedCheckVector()
{
if ( BST_CHECKED == IsDlgButtonChecked(IDC_CHECK_UNDER))
{
((CButton*)GetDlgItem(IDC_CHECK_UNDER))->SetCheck(1);
        }
       else
      {
        ((CButton*)GetDlgItem(IDC_CHECK_UNDER))->SetCheck(0);
      }

     //下面code省略
    //...
}


省略部分是我做了一些别的数据处理,跟状态没有关系,但是处理数据有一定的时间.

现在我想问的是,是要等整个按键下的代码执行完以后,才刷新这个选中状态?还是开头设置了,立即改变状态?
现在我测试是并没有立即改变勾选状态的,请问怎么处理,能达到实时的效果?
------解决方案--------------------
难道是你处理过程很费时?界面假死?
若是,那就用线程