CFromview的初始化问题

CFormview 初始化的时候,插入的列表头有重复,但是我看代码没有看出具体问题,贴出来希望有人可以指点一下,谢谢

void CDataExtractionView::OnInitialUpdate()
{
    CFormView::OnInitialUpdate();
   
    // TODO: Add your specialized code here and/or call the base class

    SetDataExtractionView();

    //整行选择;有表格线;表头;单击激活
    DWORD dwExStyle=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE;
    m_listCtrlLeft.ModifyStyle(0,LVS_SINGLESEL|LVS_REPORT|LVS_SHOWSELALWAYS);
    m_listCtrlLeft.SetExtendedStyle(dwExStyle);
    m_listCtrlRight.ModifyStyle(0,LVS_SINGLESEL|LVS_REPORT|LVS_SHOWSELALWAYS);
    m_listCtrlRight.SetExtendedStyle(dwExStyle);

   
    m_listCtrlLeft.InsertColumn(0,_T("仪器名称"), LVCFMT_LEFT,90,0);
    m_listCtrlLeft.InsertColumn(1,_T("仪器连接长度"), LVCFMT_LEFT,150,0);
    CImageList   m_left;
    m_left.Create(1, 25, TRUE | ILC_COLOR32, 1, 0);   //设置表格的高度 
    m_listCtrlLeft.SetImageList(&m_left, LVSIL_SMALL);
  
    m_listCtrlRight.InsertColumn(0, "仪器名称",LVCFMT_LEFT,90,0);
    m_listCtrlRight.InsertColumn(1, "仪器连接长度", LVCFMT_LEFT,150,0);
    CImageList   m_right;
    m_right.Create(1, 25, TRUE | ILC_COLOR32, 1, 0);   //设置表格的高度 
    m_listCtrlRight.SetImageList(&m_right, LVSIL_SMALL);
  
    selectFile();

    fileImport();
}



可能是由于在多次调用OnInitialUpdate函数时重复插入列头造成的。可以在插入列头之前,先检查列表控件是否已经有列头存在

void CDataExtractionView::OnInitialUpdate()
{
    CFormView::OnInitialUpdate();

    // TODO: Add your specialized code here and/or call the base class

    SetDataExtractionView();

    //整行选择;有表格线;表头;单击激活
    DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIVATE;
    m_listCtrlLeft.ModifyStyle(0, LVS_SINGLESEL | LVS_REPORT | LVS_SHOWSELALWAYS);
    m_listCtrlLeft.SetExtendedStyle(dwExStyle);
    m_listCtrlRight.ModifyStyle(0, LVS_SINGLESEL | LVS_REPORT | LVS_SHOWSELALWAYS);
    m_listCtrlRight.SetExtendedStyle(dwExStyle);

    if (m_listCtrlLeft.GetColumnCount() == 0)
    {
        m_listCtrlLeft.InsertColumn(0, _T("仪器名称"), LVCFMT_LEFT, 90, 0);
        m_listCtrlLeft.InsertColumn(1, _T("仪器连接长度"), LVCFMT_LEFT, 150, 0);
        CImageList m_left;
        m_left.Create(1, 25, TRUE | ILC_COLOR32, 1, 0);   //设置表格的高度 
        m_listCtrlLeft.SetImageList(&m_left, LVSIL_SMALL);
    }

    if (m_listCtrlRight.GetColumnCount() == 0)
    {
        m_listCtrlRight.InsertColumn(0, "仪器名称", LVCFMT_LEFT, 90, 0);
        m_listCtrlRight.InsertColumn(1, "仪器连接长度", LVCFMT_LEFT, 150, 0);
        CImageList m_right;
        m_right.Create(1, 25, TRUE | ILC_COLOR32, 1, 0);   //设置表格的高度 
        m_listCtrlRight.SetImageList(&m_right, LVSIL_SMALL);
    }

    selectFile();

    fileImport();
}