如何让一个打开的文档成为活动文档

差_半步

差_半步

2016-01-29 11:50

如何让一个打开的文档成为活动文档,如何让一个打开的文档成为活动文档
如何让一个打开的文档成为活动文档
赵湘宁 提出问题:

    有一个树型控件,在其TVITEM的用户部分存储着一个文档指针。当双击项目时,我想从打开的文档列表中激活文档。所以对于给定的文档类(CDocument)指针,如何在MDI应用中激活这个指针?

    在回答这个问题之前需要纠正的是:文档是不能被激活的,只有窗口能被激活。在提出的问题中隐含着这样一种假设,就是每一个文档只有一个视,MDI子框架与这个视关联。因此要激活文档也就是盯住几个指针。从文档可以获得它的视。

POSITION pos = pDoc->GetFirstViewPosition();
CView* pView = pDoc->GetNextView(pos);

pView是与文档关联的第一个视。这里假设这个文档有一个而且只有一个视。如果这个文档有一个以上关联的视(例如,在MDI应用中对相同的文档用户打开了两个窗口),你必须决定激活哪一个。最容易的办法是首先使用列表中第一个视。一旦你有了这个视,你必须获得包含它的MDI子框架。

CFrameWnd *pFrame = pView->GetParentFrame();

GetParentFrame得到给定窗口的第一个父框架—第一个父窗口是CFrameWnd。假设应用是MDI,那么包含子框架的视应该为CMDIChildWnd。一旦有了MDI子框架,你就可以调用pFrame->MDIActivate来激活它。另外,你还必须将指针强行转换为CMDIChildWnd。

展开更多 50%)
分享

猜你喜欢

如何让一个打开的文档成为活动文档

C语言教程 C语言函数
如何让一个打开的文档成为活动文档

WPS如何快速将多个文档合并成一个文档

wps教程 wps office教程
WPS如何快速将多个文档合并成一个文档

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Word2010将多个文档合成一个文档

电脑入门
Word2010将多个文档合成一个文档

如何把多个Word文档合并为一个

办公软件
如何把多个Word文档合并为一个

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

将多个文档中的批注和修订合并至一个文档中

电脑入门
将多个文档中的批注和修订合并至一个文档中

将多个Word文档合并成一个

word
将多个Word文档合并成一个

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

在Dialog中使用Menu和Toolbar

在Dialog中使用Menu和Toolbar

数据库异步操作(ADODB)

数据库异步操作(ADODB)
下拉加载更多内容 ↓