只要一步,在View文件里面,新建一个函数,然后把他创建就行了
代码如下:
m_listCtrl = new CListCtrl;//新建
CRect rectDlg;
this->GetClientRect(rectDlg);//这两句是获得整个活动窗口的大小
m_listCtrl->Create(LVS_REPORT |WS_CHILD|WS_VISIBLE,rectDlg, this, 0x285);
DWORD dwStyle = m_listCtrl->GetExtendedStyle();
dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)
dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)
dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件
dwStyle |= LVS_OWNERDRAWFIXED;
m_listCtrl->SetExtendedStyle(dwStyle); //设置扩展风格
m_listCtrl->ShowWindow(SW_SHOW);
//给数据模型赋予指针
CPortfolioApp * pPortfolioApp=(CPortfolioApp*) AfxGetApp();
m_pDataModel=pPortfolioApp->m_pDataModel;
//获取全部项目
m_DatabaseTools.GetAllProjectList(m_pDataModel->m_ProjectBaseInfoSet);
vector<KFXM_BASE_INFO> KfxmjbxxList=m_pDataModel->m_ProjectBaseInfoSet;
m_Allflag=KfxmjbxxList.size();
//将项目总数赋值给数据模型
m_pDataModel->m_nProjects=m_Allflag;
LV_COLUMN lvc;
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
//放置列名
for(int i = 0; i<23; i++)
{
lvc.iSubItem = i;
lvc.pszText = _SPDgszColumnLabel[i];
lvc.cx = _ProjectColumnWidth[i];
lvc.fmt = _ProjectColumnFmt[i];
m_listCtrl->InsertColumn(i,&lvc);
}
//放置数据
for(int i=0;i<(int) KfxmjbxxList.size();i++)
{
m_listCtrl->InsertItem(i,KfxmjbxxList[i].Xmbh);
m_listCtrl->SetItemText(i,1,KfxmjbxxList[i].Xmmc);
m_listCtrl->SetItemText(i,2,KfxmjbxxList[i].Fgsmc);
m_listCtrl->SetItemText(i,3,KfxmjbxxList[i].Yt);
m_listCtrl->SetItemText(i,4,KfxmjbxxList[i].Qk);
m_listCtrl->SetItemText(i,5,KfxmjbxxList[i].Yclx);
}
//更新状态栏
m_pDataModel->UpdateStatusBar();
MFC Office风格的界面,在下图红色部分创建一个listCtrl,是在view里面直接创建,不是写死坐标
最新推荐文章于 2022-09-06 09:33:17 发布