各位:我想做一个多文档程序将我以前做的报表统计和图形统计程序集成到一个程序里,报表统计用chtmlview,图形统计用嵌有我写的一个图形控件的cscrollview.要求根据菜单点击自动切换视图。并且如果上次做的是报表统计,这次还是报表统计时能够不关闭上一个view,自动新建一个view(从chtmlview派生),图表统计时也是。该如何实现?最好有例子代码,小弟在此先谢各位了!
解决方案 »
- ie无法打开activex空间,delphi写的
- xml解析问题
- 重谈PE.................................................
- 如何在RichEdid的编辑区输入"Ta" key ?
- 第一次写多线程的程序,运行时错误,前辈们进来看看
- 非常郁闷,关于IE工具栏,望高手帮忙。
- 请问如果UDP服务器要给3000个用户同时发数据,请问怎么做,请高手给点思路?
- 使用DirectShow播放MP3的基本问题
- 请这样理解对吗?
- 在ADO中,为什么执行SQL比执行ADDNEW操作好。
- 如何将CString中的内容(内容为数值)转换成int(或long)类型?
- 打开文档的问题?
我曾经做过一个类似的程序,而且也是用CHtmlView和CScrollView,如下是一个切换窗口的关键代码。
void CMainFrame::SwitchToView(BOOL CurView)
{//HTML视图不用重建,CURVE视图应该重建,因为初始的视图为CHtmlView CView *pHtml,*pCurve,*pTemp;
CDocument *pDoc;
pHtml=pCurve=NULL;
pDoc=GetActiveDocument();
POSITION pos=pDoc->GetFirstViewPosition ();
while(pos){
pTemp=pDoc->GetNextView (pos);
if(pTemp->IsKindOf (RUNTIME_CLASS(CSwatchView))) pHtml=pTemp;
if(pTemp->IsKindOf (RUNTIME_CLASS(CCurveView)))
pCurve=pTemp;
}
if(pCurve==NULL){
pCurve=new CCurveView;
/* pCurve->Create(NULL, NULL, WS_BORDER,
CFrameWnd::rectDefault, this,4, CurContext);*/
pCurve->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
rectDefault, this, AFX_IDW_PANE_FIRST + 1, NULL);
pDoc->AddView (pCurve);
}
if(CurView){//html视图
int nID=pHtml->GetDlgCtrlID ();
pHtml->SetDlgCtrlID (AFX_IDW_PANE_FIRST);
pCurve->SetDlgCtrlID (nID);
pHtml->ShowWindow (SW_SHOW);
pCurve->ShowWindow (SW_HIDE);
}
else{//曲线视图
int nID=pCurve->GetDlgCtrlID ();
pCurve->SetDlgCtrlID (AFX_IDW_PANE_FIRST);
pHtml->SetDlgCtrlID (nID);
pHtml->ShowWindow (SW_HIDE);
pCurve->ShowWindow (SW_SHOW);
} RecalcLayout();}