和切分视图相关的应用 CFormView类

C++中有一个CFormView类,我们可以从这个类派生出不同的视图类,将其与各种控件关联起来,就能实现各个视图显示和编辑不同控件的效果了。

以下举例列表控件的实例:

//AlarmView.h : header file

//CAlarmView form view

#ifndef __AFXEXT_H__

#include <afxext.h>

#endif

#include "resource.h"

#include "MyList.h"

 

class CAlarmView : public CFormView

{

protected:

   CAlarmView();           //protected constructor used by dynamic creation

   DECLARE_DYNCREATE(CAlarmView)

// Form Data

public:

   enum { IDD= IDD_DIA_ALARM };

   CMyList  m_alarmlist;

//Attributes

public:

   virtual voidOnInitialUpdate();

   protected:

   virtual voidDoDataExchange(CDataExchange*pDX);   // DDX/DDV support

//Implementation

protected:

   virtual ~CAlarmView();

#ifdef _DEBUG

   virtual voidAssertValid() const;

   virtual voidDump(CDumpContext&dc) const;

#endif

 

   afx_msg intOnCreate(LPCREATESTRUCTlpCreateStruct);

   afx_msg voidOnSize(UINT nType, int cx, int cy);

   DECLARE_MESSAGE_MAP()

}

 

#include "stdafx.h"

#include "AlarmView.h"

#include "resource.h"

 

/

//CAlarmView

 

IMPLEMENT_DYNCREATE(CAlarmView, CFormView)

 

CAlarmView::CAlarmView(): CFormView(CAlarmView::IDD)

{

   m_nDlgWidth = 0;

   m_nDlgHeight = 0;

   m_nWidth = 0;

   m_nHeight = 0;

   m_Multiple_width = 1.0;

   m_Mutiple_height = 1.0;

}

 

CAlarmView::~CAlarmView()

{

}

 

void CAlarmView::DoDataExchange(CDataExchange* pDX)

{

   CFormView::DoDataExchange(pDX);

   DDX_Control(pDX, IDC_LIST_ALARM,m_alarmlist);

}

 

 

BEGIN_MESSAGE_MAP(CAlarmView, CFormView)

   ON_WM_CREATE()

   ON_WM_SIZE()

END_MESSAGE_MAP()

 

/

//CAlarmView diagnostics

 

#ifdef _DEBUG

void CAlarmView::AssertValid() const

{

   CFormView::AssertValid();

}

 

void CAlarmView::Dump(CDumpContext& dc)const

{

   CFormView::Dump(dc);

}

#endif //_DEBUG

 

/

//CAlarmView message handlers

 

void CAlarmView::OnInitialUpdate()

{

   CFormView::OnInitialUpdate();

  

   // TODO: Add your specialized code hereand/or call the base class

   DWORD dwStyle= m_alarmlist.GetExtendedStyle();

   dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使其高亮

   dwStyle |= LVS_EX_GRIDLINES;//网格线

   m_alarmlist.SetExtendedStyle(dwStyle);//设置扩展风格

 

   CRect rect;

   m_alarmlist.GetClientRect(&rect);

   m_alarmlist.InsertColumn(0,"编号ID",LVCFMT_LEFT,rect.Width()/5);

   m_alarmlist.InsertColumn(1,"全名FullName",LVCFMT_LEFT,rect.Width()/5);

   m_alarmlist.InsertColumn(2,"时间Time",LVCFMT_LEFT,rect.Width()/5);

   m_alarmlist.InsertColumn(3,"描述Desc",LVCFMT_LEFT,rect.Width()/5);

   m_alarmlist.InsertColumn(4,"类型Type",LVCFMT_LEFT,rect.Width()/5);

}

此时视图上就会显示已经插入数据的列表控件了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值