VC/MFC 在对话框中创建视图并在视图区添加ListCtrl控件

自定义的view类用于显示在对话框上

class CGroupMenuView : public CScrollView
{
protected:
 CGroupMenuView();

………………

…………

};

 

class CWorkView : public CScrollView
{
protected:
 CWorkView(); 

…………

…………

};

 

	//创建左视图
	{
		CCreateContext cx;   
		cx.m_pNewViewClass = RUNTIME_CLASS( CGroupMenuView ) ;   
		cx.m_pCurrentDoc = NULL;    
		CFrameWnd* pfWnd = (CFrameWnd*)this;   	
		m_pLeftView = (CGroupMenuView*)pfWnd->CreateView( &cx );
		m_pLeftView->SetScrollSizes( MM_TEXT, CSize(100, 100) );//当你继承的基类是滚动视图类时这句很重要,需要设置视的大小	
		m_pLeftView->SetParent( this );
		m_pLeftView->InitView();	
	}
	//创建右视图
	{
		CCreateContext cx;   
		cx.m_pNewViewClass = RUNTIME_CLASS( CWorkView ) ;   
		cx.m_pCurrentDoc = NULL;    
		CFrameWnd* pfWnd = (CFrameWnd*)this;   	
		m_pRightView = (CWorkView*)pfWnd->CreateView( &cx );
		m_pRightView->SetScrollSizes( MM_TEXT, CSize(100, 100) );//当你继承的基类是滚动视图类时这句很重要,需要设置视的大小	
		m_pRightView->SetParent( this );
	}


 

在视图区添加ListCtrl控件

void CListzzzView::OnInitialUpdate() 
{
	CListView::OnInitialUpdate();	
	CListCtrl& ctl=GetListCtrl();
	// TODO: Add your specialized code here and/or call the base class	
	//设置列表控件风格
	DWORD dwStyle=::GetWindowLong(m_hWnd,GWL_STYLE);
    dwStyle|=LVS_REPORT|LVS_SHOWSELALWAYS|LVS_EDITLABELS;	
	::SetWindowLong(m_hWnd,GWL_STYLE,dwStyle);
	dwStyle=ctl.GetExtendedStyle();
	dwStyle|= LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT;
    //设置扩展风格
	ctl.SetExtendedStyle(dwStyle);	
	//列表控件头内容
	TCHAR tittle[3][10] = {_T("姓名"),_T("单位"),_T("地址")};	
	LV_COLUMN lvcolumn;
	CRect rect;
	GetWindowRect(&rect);	
	//填充列表控件头
	for(int i=0;i<3;i++)
	{
		lvcolumn.mask =LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT 
			|LVCF_WIDTH|LVCF_ORDER;
		lvcolumn.fmt = LVCFMT_LEFT;
		lvcolumn.pszText = tittle[i];
		lvcolumn.iSubItem = i;
		lvcolumn.iOrder = i;
		lvcolumn.cx = rect.Height()/3;
		GetListCtrl().InsertColumn(i, &lvcolumn);
	}
}


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值