视图切换中的疑团???
void CMainFrame::ChangeView(CRuntimeClass *pRTClass)
{
int row=0,col=0;
int cyScreen = ::GetSystemMetrics(SM_CYSCREEN);
CMainFrame * pMainWnd = (CMainFrame*)AfxGetMainWnd();
CSplitterWnd * m_wndSplitter2;
m_wndSplitter2=&pMainWnd->m_wndSplitterR;
m_wndSplitter2->DeleteView(row,col);
// 创建新的视
// m_wndSplitter2->GetPane(row,col)->SetActiveWindow();
CCreateContext Context;
Context.m_pNewViewClass = pRTClass; // 视类
Context.m_pCurrentDoc =GetActiveDocument(); // 与文档连接
m_wndSplitter2->CreateView(row,col, pRTClass,CSize(0,0),&Context);
CView * pView = (CView *)m_wndSplitter2->GetPane(row,col); // 获取分割区域
pView->ShowWindow(SW_SHOW);
pView->OnInitialUpdate();
SetActiveView(pView);
m_wndSplitter2->SetRowInfo(0, (cyScreen-cyScreen/4)/2-50, 20); // 设置宽度
::SetWindowLong(pView->m_hWnd, GWL_ID, AFX_IDW_PANE_FIRST);
// (m_wndSplitter2->GetPane(row,col))->RedrawWindow();
// >OnInitialUpdate();
// m_wndSplitter2->GetPane(row,col)->RedrawWindow();
m_wndSplitter2->RecalcLayout();
}
这段代码中当row=col=1时运行正常
当row=1,col=0时,则出错,
这是怎么回事,请高手指教!!!!
我的窗口是左边一个右边两个,也就是说,我只能切换右上角的,当改为右下角时严重出错,在线等。。。。
{
int row=0,col=0;
int cyScreen = ::GetSystemMetrics(SM_CYSCREEN);
CMainFrame * pMainWnd = (CMainFrame*)AfxGetMainWnd();
CSplitterWnd * m_wndSplitter2;
m_wndSplitter2=&pMainWnd->m_wndSplitterR;
m_wndSplitter2->DeleteView(row,col);
// 创建新的视
// m_wndSplitter2->GetPane(row,col)->SetActiveWindow();
CCreateContext Context;
Context.m_pNewViewClass = pRTClass; // 视类
Context.m_pCurrentDoc =GetActiveDocument(); // 与文档连接
m_wndSplitter2->CreateView(row,col, pRTClass,CSize(0,0),&Context);
CView * pView = (CView *)m_wndSplitter2->GetPane(row,col); // 获取分割区域
pView->ShowWindow(SW_SHOW);
pView->OnInitialUpdate();
SetActiveView(pView);
m_wndSplitter2->SetRowInfo(0, (cyScreen-cyScreen/4)/2-50, 20); // 设置宽度
::SetWindowLong(pView->m_hWnd, GWL_ID, AFX_IDW_PANE_FIRST);
// (m_wndSplitter2->GetPane(row,col))->RedrawWindow();
// >OnInitialUpdate();
// m_wndSplitter2->GetPane(row,col)->RedrawWindow();
m_wndSplitter2->RecalcLayout();
}
这段代码中当row=col=1时运行正常
当row=1,col=0时,则出错,
这是怎么回事,请高手指教!!!!
我的窗口是左边一个右边两个,也就是说,我只能切换右上角的,当改为右下角时严重出错,在线等。。。。
...全文
相关推荐
MFC 单文档视图中进行多种视图的切换
下面将详细解释如何在MFC的单文档视图中进行多种视图的切换。首先,理解MFC中的视图(View)类:视图是与用户交互的窗口部件,它通常负责数据显示和用户输入处理。
Android仿MIUI周视图月视图切换日历
总之,“Android仿MIUI周视图月视图切换日历”项目涵盖了Android开发中的多个核心技能,包括UI设计、数据处理、视图切换、事件管理和性能优化。
月视图和周视图切换控件
本文将深入探讨一个具体实现的例子——“月视图和周视图切换控件”,并详细解析其功能与实现方式。#### 控件简介此控件允许用户在月视图与周视图之间进行切换,从而更加便捷地查看和管理日程安排。
mfc 窗口分割实现多视图切换
**实现多视图切换**:MFC通过CWnd::SetActiveView()函数实现视图的激活和切换。当用户点击或选择不同的分割区域时,需要更新当前活动视图。
MAX脚本_捕捉方式随视图自动切换
你可以通过"自定义"菜单中的"运行脚本"选项打开脚本,然后按照脚本的提示进行操作。一旦脚本被正确安装并启用,每次你切换视图时,捕捉模式应该会自动调整。


界面
