假设在 MDI 程序中打开了3个文档,现在想将其中一个文档提到前面显示

storein 2003-06-05 07:53:20
假设在 MDI 程序中打开了3个文档,现在想将其中一个文档提到前面显示,不知道这要怎么做?不明白的说
...全文
40 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
storein 2003-06-09
  • 打赏
  • 举报
回复
自己UP一下
UDX协议 2003-06-06
  • 打赏
  • 举报
回复
m_pXxryQueryFormView为你要显示的试图类指针
CFrameWnd *pChidWnd = m_pXxryQueryFormView->GetParentFrame();
if(pChidWnd )
{
MDIActivate(pChidWnd );
}
storein 2003-06-06
  • 打赏
  • 举报
回复
打伙关注
storein 2003-06-06
  • 打赏
  • 举报
回复
我的意思就是如下:
在菜单Window中,不是有所打开文档的列表吗?当我点其中一个的时候,那个窗口就提前到前面来显示了,现在我就是需要这样的功能,不过不是在WINDOW菜单中,是在我自己的菜单中罢了
storein 2003-06-06
  • 打赏
  • 举报
回复
我只有一个文档模板,每次都是开一个View,然后在View中建立一个表格.
qrlvls 2003-06-06
  • 打赏
  • 举报
回复
agree to ShangMuMu
如果你是多个不同文档模板的话,可以通过文档模板注册的字符串来判断
storein 2003-06-06
  • 打赏
  • 举报
回复
wwwllg(wwwllg) :
按照你的意思就是,假设我打开了三个文档,那么我必须设立一个有三个元素的数组来保存View指针?
然后在用的时候采用你的方式?不知道你说的是不是这个意思?
我最早想到的也是用数组来保存View指针,然后用的时候去显示,只是我觉得好像不合理一样,所以才来问问,看看是不是我想错了.
huangwenfa 2003-06-05
  • 打赏
  • 举报
回复
将其他的视图隐藏,要的文档显示,即可。

将其他的视图隐藏
void CLeftPanView::HideWnd()
{
PtrList::iterator it;
for (it = windowList.begin(); it != windowList.end(); ++it) {
suspWindow *winhide = (suspWindow *) *it;
int wintype=winhide->whatype();
if(wintype==WIN_SEND_MESSAGE){
CSendMsgDlg *sendDlg= (CSendMsgDlg *) winhide;
sendDlg->ShowWindow(SW_HIDE);
}else if(wintype==WIN_VIEW_MESSAGE){
CViewMsgDlg *recvDlg= (CViewMsgDlg *) winhide;
recvDlg->ShowWindow(SW_HIDE);
}else if(wintype==WIN_SEARCH_SUBJECT){
CSearchSubject *SearchSubject=(CSearchSubject*)winhide;
SearchSubject->MoveWindow(CRect(-500,-500,-500,-500));//DestroyWindow();
}else if(wintype==WIN_SEARCH_SUBJECT_VIEWDETAIL){
CSearchSubjectViewDetail *SVDetail=(CSearchSubjectViewDetail *)winhide;
SVDetail->ShowWindow(SW_HIDE);
}else if(wintype==WIN_ANNOUNCE_QUESTION){
CAnounceQuestion *AnounceQuestion=(CAnounceQuestion *)winhide;
AnounceQuestion->ShowWindow(SW_HIDE);
}else if(wintype==WIN_NEW_QUESTION){
CNewQuestion *NewQuestion=(CNewQuestion *)winhide;
NewQuestion->MoveWindow(CRect(-500,-500,-500,-500));//>ShowWindow(SW_HIDE);
}
else if(wintype==WIN_START_SOLUTION){
CStartSolution *StartSolution=(CStartSolution *)winhide;
StartSolution->ShowWindow(SW_HIDE);
}
else if(wintype==WIN_WELCOME_VIEW){
CWelcomeView *WelcomeView=(CWelcomeView *)winhide;
WelcomeView->ShowWindow(SW_HIDE);
}

}
}


要的文档显示
pDlg->ShowWindow(SW_SHOW);
ShangMuMu 2003-06-05
  • 打赏
  • 举报
回复
//pDoc为该文档,并假设它只关联到一个视图
CDocument *pDoc;
CFrameWnd *pWnd;
//1. 取得该文档的视图
POSITION pos = pDoc->GetFirstViewPosition();
if (pos != NULL)
{
CView* pView = GetNextView(pos);
}

//2.设置为当前的活动视图
pWnd->SetActiveView( pView , TRUE );

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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