MFC Office风格的界面,在下图红色部分创建一个listCtrl,是在view里面直接创建,不是写死坐标

4 篇文章 0 订阅
只要一步,在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();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值