原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/2019/0708/567.html
	这个初始化函数能够树立类导游中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
	}
上篇:上一篇:MFC形式下List Control怎样完成双击获取内容
下篇:下一篇:VS2008——R6034错误



