MFC多文档应用程序,如何取得所有视的内容?

ytfhwfnh 2004-01-24 01:29:14
我用VC6的向导生成MFC(MDI)应用程序,视类使用CEditView为基类。这样就可以实现和记事本一样打开、编辑和保存文件了。但我要对打开的文件内容做处理,如何取得当前活动视的内容首地址指针?如果要同时对所有视的内容处理,如何取得所有视的内容首地址指针呢?例如:在主菜单中插入一项,点一下就可以倒排序所有打开的文件的内容,并更新所有视。
...全文
102 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
nuaawenlin 2004-01-27
  • 打赏
  • 举报
回复
up
ytfhwfnh 2004-01-25
  • 打赏
  • 举报
回复
谢谢楼上的回复。我已经找到解决这个问题的办法。
char* buf=new char[256];
CEdit& edit=CMyEditView.GetEditCtrl();
edit.GetWindowText(buf,256);
这样就可以得到CEditView的内容了。
smch 2004-01-24
  • 打赏
  • 举报
回复
CMDIFrameWnd *pFrame =
(CMDIFrameWnd*)AfxGetApp()->m_pMainWnd;

// Get the active MDI child window.
CMDIChildWnd *pChild =
(CMDIChildWnd *) pFrame->GetActiveFrame();

// or CMDIChildWnd *pChild = pFrame->MDIGetActive();

// Get the active view attached to the active MDI child
// window.
CMyView *pView = (CMyView *) pChild->GetActiveView();

----------------------
POSITION pos = GetFirstViewPosition();
CView* pFirstView = GetNextView( pos );
// This example uses CDocument::GetFirstViewPosition
// and GetNextView to repaint each view.
void CMyDoc::OnRepaintAllViews()
{
POSITION pos = GetFirstViewPosition();
while (pos != NULL)
{
CView* pView = GetNextView(pos);
pView->UpdateWindow();
}
}

// An easier way to accomplish the same result is to call
// UpdateAllViews(NULL);

2,643

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧