获取CTabView中不同Tab页
来源:互联网 发布:食品安全数据分析 编辑:程序博客网 时间:2024/05/17 23:56
问题描述:在CTabView派生类中添加多个CFormView类的试图页,在处理消息时需要获得接收消息的窗口的句柄,为了得到不同CFormView派生类的句柄,在网上查了好久才找到的点提示;现将解决方案描述如下,以供参考。
I have an MFC SDI app using a view derived from the feature pack CTabView. My tabs are derived from CFormView and have various controls on them.
To add tabs to my view during creation, I just do this in the OnCreate of my CTabView-derived class:
int AddView( CRuntimeClass* pViewClass, const CString& strViewLabel, int iIndex=-1, CCreateContext* pContext=NULL );
eg:AddView(RUNTIME_CLASS(CChartView), “chart”,101);
CChartView * p = dynamic_cast<CChartView *>(GetTabView()->GetTabControl().GetTabWndNoWrapper(inspos));//
Note:
GetTabView()//得到CTabView派生类的指针
{
CView * pView = GetActiveView();
CMFCTabView *pParent = (CMFCTabView *)pView->GetParent();
CTabView *pTabView = (CTabView *)pParent ->GetParent();
return pTabView ;
}
方案中用到一个关键的函数,看看MSDN对该函数的解释:
Returns a pointer to the control that resides on a tab, even if the control has a wrapper.
The zero-based index of a tab.
////////////////////////////////////////////////////////////////////////
CView *pCurrentView = GetActiveView();//得到当前活动TabView的指针
int tabIndex = GetTabView()->FindTab(pCurrentView->m_hWnd); //得到当前活动TabView的index
if(tabIndex ?= 欲打开的TabView) 可以判断某个特定的TabView是否active
- 获取CTabView中不同Tab页
- 获取CTabView的指针以及禁止CTabView拖动
- JQuery中easyui获取tab页对象以及获取获取tab页对象下的iframe对象跟指定tab页对象隐藏
- 获取当前Tab中对应的Activity
- WPF中DataGrid只获取一次Tab
- $().tab() bootStrap中Tab页签切换
- webdynpro中给不同的TAB标签设置数据
- JAVA中获取不同随机数
- JAVA中获取不同随机数
- CTabView使用方法
- TabHost中在不同Tab中显示不同的Menu(菜单)
- tabhost中获取当前Tab中对应的Activity
- Android Tabhost使用(展示不同的Tab页)
- easyui中tab中的iframe获取当前tab的panel的title
- hibernate不同版本中sessionFactory获取方法
- JTabbedPane 获取tab名称
- 创建一个CTabView类
- WTL: CTabView 源码分析
- 2011 Multi-University Training Contest 10 - Host by HRBEU hdu 3933 Dark Parth
- J2me中运行JAD文件,报com.sun.kvem.midletsuite.InvalidJadException: Reason = 22错误解决方案
- 一个效果非常不错的JAVA数据库连接池
- Java Callable 和Runnable
- 颜色代码表
- 获取CTabView中不同Tab页
- 关于MP3播放器知识收集
- 入了giant FCR 3100,纪念一下!¥1800元
- CuteEditor 6.0 使用方法详解
- poj 3715
- linux 开发工具集合
- warning: function declaration isn't a prototype
- MyEclipse常用设置
- jvm