【VS开发】学习VS2010 ------ 多种类型的视图集合CTabView
来源:互联网 发布:ping网络命令 编辑:程序博客网 时间:2024/05/17 23:21
多种类型的视图集合CTabView
首先利用AppWizard建立工程,然后将视类的基类更改为CTabView,并将所有的CView更改为CTabView。
依次插入以CSrollView、CListView、CFormView、CEditView为基类的CView1、CView2、CView3、CView4,并在程序中进行引用:
intCTabViewTestView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CTabView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add yourspecialized creation code here
AddView(RUNTIME_CLASS (CView1), _T("Scroll View"),100);
AddView(RUNTIME_CLASS (CView2), _T("List View"),101);
AddView(RUNTIME_CLASS (CView3), _T("Form View"),102);
AddView(RUNTIME_CLASS (CView4), _T("Edit View"),103);
return 0;
}
为了增强各类的显示效果,分别对加入的各个类型的视类进行程序设计。
在以CSrollView为基类的CView1中,增加CSroll相关的控制,并在OnDraw中进行图形的绘制。
在以CListView为基类的CView2中,更改List的显示风格
BOOL CView2::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Add your specialized code here and/or call thebase class
cs.style|= LVS_REPORT;
return CListView::PreCreateWindow(cs);
}
并在OnInitialUpdate()中加入列表的初始化代码:
CListCtrl& wndList = GetListCtrl ();
wndList.SetExtendedStyle (LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES);
const int nColumns = 10;
int iColumn = 0;
// Insert columns:
for (iColumn = 0;iColumn < nColumns; iColumn++)
{
CStringstrColumn;
strColumn.Format(_T("Column %d"), iColumn + 1);
wndList.InsertColumn(iColumn, strColumn, LVCFMT_LEFT, 110);
}
// Insert items:
for (int i = 0; i < 10; i++)
{
const CString strItemFmt = _T("Item (%d, %d)");
CStringstrItem;
strItem.Format(strItemFmt, 1, i + 1);
int iItem = wndList.InsertItem (i, strItem, 0);
for (iColumn = 1; iColumn < nColumns; iColumn++)
{
strItem.Format(strItemFmt, iColumn + 1, i + 1);
wndList.SetItemText(iItem, iColumn, strItem);
}
}
在以CFormView为基类的CView3中,加入相应的资源控件并进行程序设计,在以CEditView为基类的CView4中,加入窗体文本初始化的代码。
最终软件界面:
- 【VS开发】学习VS2010 ------ 多种类型的视图集合CTabView
- 学习VS2010 ------ 多种类型的视图集合CTabView
- 【VS开发】CTabView多页卡界面
- 【VS开发】使用CTabView分割多页卡窗口
- 多标签视图类CTabView的设计实现
- 多标签视图类CTabView的设计实现
- Yii-视图-CTabView分栏切换
- java学习-list集合有泛型情况添加多种类型数据
- 简单封装PagerAdapter以支持多种类型的视图
- MDI多种类型文档,多视图
- 获取CTabView的指针以及禁止CTabView拖动
- 集合类的学习--ArrayList vs LinkedList
- 集合类的学习--HashSet vs TreeSet
- ListView的多种行视图
- Map集合的多种遍历
- 使用CTabView实现多视图(一体多面)
- 使用CTabView实现多视图(一体多面)
- OCiOS开发:集合视图 UICollectionView
- iOS 开发编码建议与编程经验
- View Controller容器(有助于理解addChildViewController)
- 谈Runtime机制和使用的整体化梳理
- java中volatile关键字的含义
- linux定时任务生产java服务无法执行问题群友案例 【转】
- 【VS开发】学习VS2010 ------ 多种类型的视图集合CTabView
- IP地址段与子网掩码
- iOS开发系列--Objective-C之类和对象
- 饿了么移动APP的架构演进
- 《JAVA与模式》之简单工厂模式
- 在gentoo环境下安装tensorflow
- (OK) grub2-set-default——kernel updates keep defaulting to debug kernel
- iOS开发系列--Objective-C之协议、代码块、分类
- 偷师饿了么:怎样用HTTP/2优化iOS APP网络层次架构?