mdi中如何在一个文档里面新建一个文档,并初始化文档内容,显示出来。 如题。谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CString str;// in Mydoc.h public: BOOL CMyDoc::OnNewDocument(){ if (!CDocument::OnNewDocument()) return FALSE; str ="add your document"; return TRUE;}void CMyView::OnDraw(CDC* pDC){ CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); pDC->TextOut(0,0,pDoc->str);} 这位大侠好像误解我的意思了。我的意思是:比如我有一个 CMyDoc类,相应的有一个CMyView类,而我在 CMyView 类消息处理函数中,需要再创建一个CMyDoc类和CMyView类。然后新的CMyView类显示为新的窗口。就像菜单中新建一样,但是新建的文档内容不是空的,而是再原先的函数中已经定义好的。 1,先定义一个文档模板指针,在winapp的init函数里对它赋于程序默认的文档模板指针值,2,然后在消息处理函数获的这个指针,需要自己写一个get函数,3,接下来用这个指针来创建一个新的文档,4,你的事情了..... void CMdiafeView::OnViewNewview() {//这样做是可以让你在打开的新窗口显示任意的东西,//但是窗口一旦重画,窗口还是还原为空白的//如果用永久的,还是得在OnDraw里画// GetParent()->SendMessage(WM_CLOSE); CWinApp * pApp =AfxGetApp(); POSITION pos,pos1; pos=pApp->GetFirstDocTemplatePosition(); CDocTemplate *pDocTemplate; if(pos !=0){ pDocTemplate=pApp->GetNextDocTemplate(pos); CDocument *pDoc =pDocTemplate->OpenDocumentFile(NULL); pos1=pDoc->GetFirstViewPosition(); if(pos1 !=0){ CView *pView=pDoc->GetNextView(pos1); pView->Invalidate(); pView->UpdateWindow(); CDC *pDC =pView->GetDC(); pDC->TextOut(0,0,"newView\n"); } }} 实在太感谢了。我竟然没有看到opendocumentfile这个函数。呵呵。 怎样批量操作进度条控件 vc面试 请教大家一个问题 请帮忙解决! 句柄,指针转换问题. 线程中打开对话框的问题。 关于延时的问题,百思不得其解 能不能用VC生成可以在纯DOS下运行的程序?如何生成? 一个关于完成例程使用的问题? 关于升级到vc7.0的操作问题 求救windows98的密码问题 请教,如何在WIN98下创建新的桌面(类似网吧管理软件的自定义桌面,开始菜单) 关于光栅操作(ROP)
BOOL CMyDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE; str ="add your document"; return TRUE;
}
void CMyView::OnDraw(CDC* pDC)
{
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc); pDC->TextOut(0,0,pDoc->str);
}
比如我有一个 CMyDoc类,相应的有一个CMyView类,
而我在 CMyView 类消息处理函数中,需要再创建一个CMyDoc类和CMyView类。然后新的CMyView类显示为新的窗口。就像菜单中新建一样,但是新建的文档内容不是空的,而是再原先的函数中已经定义好的。
2,然后在消息处理函数获的这个指针,需要自己写一个get函数,
3,接下来用这个指针来创建一个新的文档,
4,你的事情了.....
{
//这样做是可以让你在打开的新窗口显示任意的东西,
//但是窗口一旦重画,窗口还是还原为空白的
//如果用永久的,还是得在OnDraw里画
// GetParent()->SendMessage(WM_CLOSE);
CWinApp * pApp =AfxGetApp();
POSITION pos,pos1;
pos=pApp->GetFirstDocTemplatePosition();
CDocTemplate *pDocTemplate;
if(pos !=0){
pDocTemplate=pApp->GetNextDocTemplate(pos);
CDocument *pDoc =pDocTemplate->OpenDocumentFile(NULL);
pos1=pDoc->GetFirstViewPosition();
if(pos1 !=0){
CView *pView=pDoc->GetNextView(pos1);
pView->Invalidate();
pView->UpdateWindow();
CDC *pDC =pView->GetDC();
pDC->TextOut(0,0,"newView\n");
}
}
}
我竟然没有看到opendocumentfile这个函数。呵呵。