这个初始化函数可以建立类向导中Add Function...这是从助教那学来的,感觉不错。。。这是个初始化函数,我在图书管理系统中应用了一下。。。这一段实现的功能就是打开对话框,能够在表格中显示管理员信息(注:列表控件选择报表report)。。。

画红色的部分是根据自己情况修改的~其余部分就可以用啦

BOOL CEditManager::OnInitDialog()
{
    CDialog::OnInitDialog();

   // TODO: Add extra initialization here
    //设置Listctrl为报表形式

    CListCtrl* pmyListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST1);
    DWORD dwStyle = GetWindowLong(pmyListCtrl->m_hWnd, GWL_STYLE);
    SetWindowLong( pmyListCtrl->m_hWnd, GWL_STYLE, dwStyle | LVS_REPORT);

    //设置listctrl可以整行选择和网格条纹
    DWORD styles = pmyListCtrl->GetExtendedStyle();
    pmyListCtrl->SetExtendedStyle(styles|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

    //给listctrl设置5个标题栏
    TCHAR rgtsz[5][10] = {_T("馆员卡号"),_T("管员姓名"),_T("性别"),_T("年龄"),_T("工作时间")};

//修改数组大小,可以确定分栏数和没栏长度,如果修改下面的数据(蓝色部分)也要跟着改变

    LV_COLUMN lvcolumn;
    CRect rect;
    pmyListCtrl->GetWindowRect(&rect);
    for (int i=0;i<5;i++)
    {
        lvcolumn.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT
                        | LVCF_WIDTH | LVCF_ORDER;
        lvcolumn.fmt = LVCFMT_LEFT;
        lvcolumn.pszText = rgtsz[i];
        lvcolumn.iSubItem = i;
        lvcolumn.iOrder = i;
        lvcolumn.cx = rect.Width()/5;
        pmyListCtrl->InsertColumn(i, &lvcolumn);
    }

    ifstream input("manager.dat");     //这是我自己需要的读文件操作
    Manager manager;

    input.read((char *)&manager,sizeof(manager));

    while (input)
    {
        i=0;
        CString strText;
        if (manager.tag=='#')
        {

            strText.Format(TEXT("%d"), manager.number);

            // Insert the item, select every other item.
            pmyListCtrl->InsertItem(LVIF_TEXT|LVIF_STATE, i, strText,
                                    (i%2)==0 ? LVIS_SELECTED : 0, LVIS_SELECTED,0, 0);

            // Initialize the text of the subitems.


            strText.Format("%s", manager.name);          //这里就是要往里面输入的数据,注意坐标
            pmyListCtrl->SetItemText(i, 1, strText);

            strText.Format("%s", manager.sex);
            pmyListCtrl->SetItemText(i, 2, strText);

            strText.Format("%d", manager.age);
            pmyListCtrl->SetItemText(i, 3, strText);

            strText.Format("%d", manager.year);
            pmyListCtrl->SetItemText(i, 4, strText);

        }
        input.read((char *)&manager,sizeof(manager));
    };
    input.close();

    return TRUE; // return TRUE unless you set the focus to a control
    // EXCEPTION: OCX Property Pages should return FALSE
}