【VS开发】CTabView多页卡界面
转载地址:http://blog.csdn.net/akof1314/article/details/5618454
The CTabView class simplifies the use of the tab control class (CMFCTabCtrl ) in applications that use MFC's
document/view architecture.
class CTabbedView : public CView
Public Methods
|
Name |
Description |
|---|---|
|
Adds a new view to the tab control. |
|
|
Returns the index of the specified view in the tab control. |
|
|
Returns a pointer to the currently active view |
|
|
Returns a reference to the tab control associated with the view. |
|
|
Removes the view from the tab control. |
|
|
Makes a view active. |
Protected Methods
|
Name |
Description |
|---|---|
|
Called by the framework when creating a tab view to determine whether the tab view has a shared horizontal scroll bar. |
|
|
Called by the framework when the tab view is made active or inactive. |
使用CTabView要特别注意获取视图的指针的操作,一般的途径获取只能获取CTabView里面的当前View不能获取到CTabView指针,必须通过下面方法获取,以下为在主框架获取CTabView视图指针的示例:
{
CChildFrame * pChildFrm = ( CChildFrame *) GetActiveFrame();
CView * pView = pChildFrm-> GetActiveView();
CMFCTabCtrl * pParent1 = ( CMFCTabCtrl *) pView-> GetParent();
CXXXTabView * pTabView =( CXXXTabView *) pParent1-> GetParent();
pTabView-> OnBlog(); //调用CTabView视图类里面的函数
}
要禁止CTabView里面的Tab拖动,只需要在CTabView里面调用下面:
一些CTabView样式设置,如下:
{
CTabView:: OnInitialUpdate();
AddView ( RUNTIME_CLASS ( CView1), _T( " simple " ), 100 );
this -> GetTabControl().SetLocation( CMFCTabCtrl:: LOCATION_TOP); //方向上顶
this -> GetTabControl().ModifyTabStyle( CMFCTabCtrl:: STYLE_3D_ONENOTE); //风格
this -> GetTabControl().EnableAutoColor( TRUE ); //自动着色
this -> GetTabControl().SetTabBorderSize( 2 ); //边框大小
this -> GetTabControl().HideSingleTab( TRUE ); //单个Tab时候不显示Tab标签
this -> GetTabControl().EnableTabSwap( FALSE ); //禁止拖动
}
若是要禁止CTabView上的滚动条,只要在CTabView的头文件上,定义以下函数即可:
{
return FALSE ;
}
在基于CTabView的多文档中,遍历每个CTabView视图可以通过获取框架指针。下面是关闭除当前视图外的其余视图:
{
CMDIFrameWnd *pFrame = (CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;
CMDIChildWnd *pChild = (CMDIChildWnd*)pFrame->GetActiveFrame();
CView * pView;
CMFCTabCtrl * pParent1;
CXXXTabView * pTabView;
CDocument* pDoc;
CMDIChildWnd *pChild2=pFrame->MDIGetActive();
if (pFrame)
{
//依次关闭右边视图
pFrame->MDINext();
pChild2=pFrame->MDIGetActive();
while (pChild2!=pChild)
{
pView = pChild2->GetActiveView();
pParent1 = (CMFCTabCtrl *)pView->GetParent();
pTabView =(CXXXTabView *) pParent1->GetParent();
pDoc = pTabView->GetDocument();
pDoc->OnCloseDocument();
pChild2=pFrame->MDIGetActive();
}
//依次关闭左边视图
pFrame->MDIPrev();
pChild2=pFrame->MDIGetActive();
while (pChild2!=pChild)
{
pView = pChild2->GetActiveView();
pParent1 = (CMFCTabCtrl *)pView->GetParent();
pTabView =(CXXXTabView *) pParent1->GetParent();
pDoc = pTabView->GetDocument();
pDoc->OnCloseDocument();
pFrame->MDIPrev();
pChild2=pFrame->MDIGetActive();
}
}
}
更多的资料,可以参考MSDN。
【VS开发】CTabView多页卡界面的更多相关文章
- TabLayout和ViewPager简单实现页卡的滑动
首先需要在当前的module中的build Gradle的 dependencies中加入以下句子 compile 'com.android.support:design:23.0.1' 因为我们用到 ...
- 高效开发 Web 单页应用解决方案
于 2017 年初,有在 Github 建立并维护一个项目:Vue Boilerplate Template,欲成就一款开箱即用 Vue + Webpack 的脚手架模版:其目标与宗旨是:根据以往经验 ...
- [课程设计]Scrum 1.3 多鱼点餐系统开发进度(系统主界面框架&美化)
Scrum 1.3 多鱼点餐系统开发进度(系统主界面框架&美化) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅 ...
- ViewPager设置 缓存个数、页卡间距、数据更新
在使用ViewPager常用设置 1)mViewPager.setOffscreenPageLimit(2);//设置缓存view 的个数(实际有3个,缓存2个+正在显示的1个)2)mViewPage ...
- android SlidingTabLayout实现ViewPager页卡滑动效果
先来张效果图(能够滑动切换页卡) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGVuZ2t2/font/5a6L5L2T/fontsize/400/fi ...
- ViewPager实现页卡的3种方法(谷歌组件)
----方法一:---- 效果图: 须要的组件: ViewPager+PagerTabStrip 布局文件代码: <!--xmlns:android_custom="http://sc ...
- ViewPager实现页卡的最新方法--简洁的TabLayout(谷歌支持包)
效果图: 添加依赖包: compile ‘com.android.support:design:‘ 布局文件: <?xml version="1.0" encoding=&q ...
- HorizontalScrollView做页卡的一个小记录
用HorizontalScrollView做页卡,实现一个如下图的效果:
- SNF快速开发平台3.0之-界面个性化配置+10种皮肤+7种菜单-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout
一.个性配置-首页:可以进行拖动保存配置,下次登录时就会按配置的进行加载 二.个人配置页面 7种菜单用户可自定义配置,和预览效果 10种皮肤自定义配置,和预览效果 皮肤和菜单可以随意组合-部分截图: ...
随机推荐
- 让你的python代码优雅地道的小技巧
转载地址:http://www.lightxue.com/transforming-code-into-beautiful-idiomatic-python 用了python这么久,逐渐才了解到pyt ...
- vs2015下载
VS2015 专业版下载链接http://download.microsoft.com/download/B/8/9/B898E46E-CBAE-4045-A8E2-2D33DD36F3C4/vs20 ...
- [Python自学] day-21 (1) (请求信息、html模板继承与导入、自定义模板函数、自定义分页)
一.路由映射的参数 1.映射的一般使用 在app/urls.py中,我们定义URL与视图函数之间的映射: from django.contrib import admin from django.ur ...
- 头条编程题 万万没想到之抓捕孔连顺 JavaScript
[编程题] 万万没想到之抓捕孔连顺 时间限制:1秒 空间限制:131072K 我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺.和我一起行动的还有另外两名特工,我提议 ...
- aarch-linux-gnu-g++ install
# apt install g++-aarch64-linux-gnuReading package lists... 0% Reading package lists... Done Buildin ...
- Java进阶知识10 Hibernate一对多_多对一双向关联(Annotation+XML实现)
本文知识点(目录): 1.Annotation 注解版(只是测试建表) 2.XML版 的实现(只是测试建表) 3.附录(Annotation 注解版CRUD操作)[注解版有个问题:插入值时 ...
- 【线性代数】4-2:投影(Porjections)
title: [线性代数]4-2:投影(Porjections) categories: Mathematic Linear Algebra keywords: Projections Project ...
- UVA 12501 Bulky process of bulk reduction ——(线段树成段更新)
和普通的线段树不同的是,查询x~y的话,给出的答案是第一个值的一倍加上第二个值的两倍一直到第n个值的n倍. 思路的话,就是关于query和pushup的方法.用一个新的变量sum记录一下这个区间里面按 ...
- 20175329&20175313&20175318 2019-2020 《信息安全系统设计基础》实验一
详见 https://www.cnblogs.com/xiannvyeye/p/11792152.html#%E4%B8%80%E5%AE%9E%E9%AA%8C%E5%86%85%E5%AE%B9
- mui.toast样式风格及位置修改教程
mui.toast样式风格及位置修改教程 使用了mui.toast来实现可自动消失的信息提示效果. 但默认的显示效果太差了,很不显示,而且是在底部的. 如下图: 想改到屏幕的中间位置,再改大一点. 但 ...