再发一个CTabView的问题。。。最近跟vs2008 sp1杠上了。。。
D:\Program Files\AllVCLanguageSamples\C++\MFC\Visual C++ 2008 Feature Pack\TabbedView
有一个问题。执行RemoveView后,由于默认的m_bAutoDestroyWindow为FALSE,所以并没有销毁view。我就设置了
wndTab.AutoDestroyWindows(TRUE);
结果发现执行RemoveView时候问题就来了,报错数组引用越界了。有兴趣的朋友可以试试。添加如下函数:
void CTabbedViewView::OnContextMenu(CWnd*, CPoint point)
{
//theApp.ShowPopupMenu (IDR_CONTEXT_MENU, point, this);
CMenu PopupMenu;
PopupMenu.CreatePopupMenu();
PopupMenu.AppendMenu(MF_STRING|MF_ENABLED,1,L"Close");
int nCmdID = PopupMenu.TrackPopupMenu(TPM_LEFTALIGN|TPM_RETURNCMD|TPM_LEFTBUTTON,point.x,point.y,this);
CMFCTabCtrl& wndTab = GetTabControl();
CPoint ptTab = point;
wndTab.ScreenToClient(&ptTab);
const int nTab = wndTab.GetTabFromPoint(ptTab);
if (nCmdID == 1)
{
if (nTab >= 0)
{
wndTab.SetActiveTab(nTab);
RemoveView(nTab);
}
}
}同时修改sample的函数:
int CTabbedViewView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CTabView::OnCreate(lpCreateStruct) == -1)
return -1;
CMFCTabCtrl& wndTab = GetTabControl();
wndTab.AutoDestroyWindow(TRUE);
AddView (RUNTIME_CLASS (CView1), _T("Simple"), 100);
AddView (RUNTIME_CLASS (CView2), _T("List"), 101);
AddView (RUNTIME_CLASS (CView3), _T("Form"), 102);
AddView (RUNTIME_CLASS (CView4), _T("ScrollView"), 102);
return 0;
}
增加
CMFCTabCtrl& wndTab = GetTabControl();
wndTab.AutoDestroyWindow(TRUE);
相关推荐
CTabView代码
在Microsoft Visual Studio 2005中,开发者可能会遇到一个问题,即默认的MFC库并没有提供CTabView类。
【VS开发】关于各种View的实现总结
【VS开发】关于各种View的实现总结标签(空格分隔): 【VS开发】最近两天整理了一下各种View的实现,实际上各种View也只是实现了对应Dialog对话框中的一些控件而已,比如CListCtrl,CTreeCtrl等,只不过是按照view的形式封装了起来,直接在MainFrame中以View的形式填充而已,具体的操作似乎还是比较类似的,我在一个工程中一共实现了CTreeView,CFormVi
VS2010-MFC VS2010的MFC例子代码
VS2010-MFC是关于使用Visual Studio 2010进行Microsoft Foundation Classes (MFC)编程的一个实例集合。
JEP30-PX100A PartModel Product Guidelines for Electronic-Device Substrates and Assemblies – XML Requ
JEP30-PX100A PartModel Product Guidelines for Electronic-Device Substrates and Assemblies – XML Requirements
基于Matlab的自动睡眠粒状结构检测算法,从脑电信号中进行。.zip
1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。


界面
