listcontrol 在自定义类中无法插入列及值的问题

遇到的问题:
在MFC程序中,新建了一个listcontrol控件,设置成了report属性,在OnInitDialog()中,新建行列及数值正常。同时新建了个按钮控件,在按钮的单击事件中新建listcontrol控件的列及数值也正常,但在自定义的一个类中,则无法实现listcontrol控件新建列及更新列中数值的情况,请问下这是怎么回事?
代码片段:
BOOL CInfoCenterDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();

// 设置此对话框的图标。  当应用程序主窗口不是对话框时,框架将自动
//  执行此操作
SetIcon(m_hIcon, TRUE);            // 设置大图标
SetIcon(m_hIcon, FALSE);        // 设置小图标

ShowWindow(SW_MAXIMIZE);

ShowWindow(SW_MINIMIZE);


CRect rect;
m_list.GetClientRect(&rect);


m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);


m_list.InsertColumn(0, _T("con"), LVCFMT_CENTER, rect.Width() / 9, 0);
m_list.InsertColumn(1, _T("ll"), LVCFMT_CENTER, rect.Width() / 9, 1);


m_list.InsertItem(0, _T("test"));
m_list.SetItemText(0, 1, _T("111"));
m_list.SetItemText(0, 2, _T("222"));

return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE

}
这里正常实现。

void CInfoCenterDlg::OnBnClickedButton2()
{
    // TODO: 在此添加控件通知处理程序代码
    m_list.InsertItem(0, _T("test"));
    m_list.SetItemText(0, 1, _T("111"));
    m_list.SetItemText(0, 2, _T("222"));
}

这个也能实现。

class test:public CInfoCenterDlg
{
  ...
    void fun()
  {
          m_list.InsertItem(0, _T("test"));
    m_list.SetItemText(0, 1, _T("111"));
    m_list.SetItemText(0, 2, _T("222"));
  }
  ...
}

这种情况就实现不了,请问下这是为啥,咋解决?谢谢!