In MDI, how to display a restored view on a maxmized view?

In MDI, if a view is maxmized, all other views are hide.
But I want to display a restored view on the top of the maxmized view, how 
can I do that?
0
flyingxu (20)
11/5/2005 12:28:06 PM
vc.mfc 33608 articles. 0 followers. Follow

6 Replies
470 Views

Similar Articles

[PageSpeed] 23

I am not sure if thats possible. You can try calling activateframe on the
mdichild window that contains the view. I suspect that the new frame will
come in as maximized as well. You can try by resizing the view to cover
entire area of mainframe and then activating second frame.

--
Ajay Kalra [MVP - VC++]
ajaykalra@yahoo.com


"flyingxu" <flyingxu@discussions.microsoft.com> wrote in message
news:20D25211-AC04-4E9A-A034-34F41A60B0F6@microsoft.com...
> In MDI, if a view is maxmized, all other views are hide.
> But I want to display a restored view on the top of the maxmized view, how
> can I do that?


0
ajaykalra (6842)
11/5/2005 2:02:21 PM
I'm sure it's possible, bacause I've seen a software bahaves like what I 
mentioned
But I don't know how to implement it.

"Ajay Kalra" wrote:

> I am not sure if thats possible. You can try calling activateframe on the
> mdichild window that contains the view. I suspect that the new frame will
> come in as maximized as well. You can try by resizing the view to cover
> entire area of mainframe and then activating second frame.
> 
> --
> Ajay Kalra [MVP - VC++]
> ajaykalra@yahoo.com
> 
> 
> "flyingxu" <flyingxu@discussions.microsoft.com> wrote in message
> news:20D25211-AC04-4E9A-A034-34F41A60B0F6@microsoft.com...
> > In MDI, if a view is maxmized, all other views are hide.
> > But I want to display a restored view on the top of the maxmized view, how
> > can I do that?
> 
> 
> 
0
flyingxu (20)
11/5/2005 4:16:01 PM
I really doubt this can be done without playing games with MDIClient area
which is the parent of all the MDIChildWnd. I just verified in VC6 and it
behaves as I had guessed in my previous post.

--
Ajay Kalra [MVP - VC++]
ajaykalra@yahoo.com


"flyingxu" <flyingxu@discussions.microsoft.com> wrote in message
news:584972E9-6DAA-45D0-8BAA-41B5E450E9F8@microsoft.com...
> I'm sure it's possible, bacause I've seen a software bahaves like what I
> mentioned
> But I don't know how to implement it.
>
> "Ajay Kalra" wrote:
>
> > I am not sure if thats possible. You can try calling activateframe on
the
> > mdichild window that contains the view. I suspect that the new frame
will
> > come in as maximized as well. You can try by resizing the view to cover
> > entire area of mainframe and then activating second frame.
> >
> > --
> > Ajay Kalra [MVP - VC++]
> > ajaykalra@yahoo.com
> >
> >
> > "flyingxu" <flyingxu@discussions.microsoft.com> wrote in message
> > news:20D25211-AC04-4E9A-A034-34F41A60B0F6@microsoft.com...
> > > In MDI, if a view is maxmized, all other views are hide.
> > > But I want to display a restored view on the top of the maxmized view,
how
> > > can I do that?
> >
> >
> >


0
ajaykalra (6842)
11/5/2005 5:01:07 PM
flyingxu wrote:
> I'm sure it's possible, bacause I've seen a software bahaves like what I 
> mentioned

Are you sure these were MDI child windows?

Asko.

> But I don't know how to implement it.> 

> "Ajay Kalra" wrote:
> 
> 
>>I am not sure if thats possible. You can try calling activateframe on the
>>mdichild window that contains the view. I suspect that the new frame will
>>come in as maximized as well. You can try by resizing the view to cover
>>entire area of mainframe and then activating second frame.
>>
>>--
>>Ajay Kalra [MVP - VC++]
>>ajaykalra@yahoo.com
>>
>>
>>"flyingxu" <flyingxu@discussions.microsoft.com> wrote in message
>>news:20D25211-AC04-4E9A-A034-34F41A60B0F6@microsoft.com...
>>
>>>In MDI, if a view is maxmized, all other views are hide.
>>>But I want to display a restored view on the top of the maxmized view, how
>>>can I do that?
>>
>>
>>
0
11/5/2005 8:41:41 PM
Yes, I agree.
So what should I do on MDI client area to display a restored view on the top 
of the maxmized view?
I find the when one view is maxmized, the other view is actually not 
maxmized, but it's usder the maxmized view, so we can't see the restored view.
I tried to use SetWindowPos to bring it to top, but it displayed for a very 
short time and then be covered by the maxmized view. And I notice the child 
frame already has WS_CLIPSIBLINGS style.
I looked into the code of MFC, but find no clue, for MS hide all the code 
inside functions like MDIActive().
But I really need this function, so, any suggestions?

p.s. I find a software that already implemented this function, 
http://www.maxthon.com/ (pardon me, I'm not advtising for it, pls download 
and see the function I want and then delete it.)

"Ajay Kalra" wrote:

> I really doubt this can be done without playing games with MDIClient area
> which is the parent of all the MDIChildWnd. I just verified in VC6 and it
> behaves as I had guessed in my previous post.
> 
> --
> Ajay Kalra [MVP - VC++]
> ajaykalra@yahoo.com
> 
> 
> "flyingxu" <flyingxu@discussions.microsoft.com> wrote in message
> news:584972E9-6DAA-45D0-8BAA-41B5E450E9F8@microsoft.com...
> > I'm sure it's possible, bacause I've seen a software bahaves like what I
> > mentioned
> > But I don't know how to implement it.
> >
> > "Ajay Kalra" wrote:
> >
> > > I am not sure if thats possible. You can try calling activateframe on
> the
> > > mdichild window that contains the view. I suspect that the new frame
> will
> > > come in as maximized as well. You can try by resizing the view to cover
> > > entire area of mainframe and then activating second frame.
> > >
> > > --
> > > Ajay Kalra [MVP - VC++]
> > > ajaykalra@yahoo.com
> > >
> > >
> > > "flyingxu" <flyingxu@discussions.microsoft.com> wrote in message
> > > news:20D25211-AC04-4E9A-A034-34F41A60B0F6@microsoft.com...
> > > > In MDI, if a view is maxmized, all other views are hide.
> > > > But I want to display a restored view on the top of the maxmized view,
> how
> > > > can I do that?
> > >
> > >
> > >
> 
> 
> 
0
11/30/2005 3:23:12 AM
If you want to maximize the childframe, override ActivateFrame and
change nCmdShow parameter to SW_SHOWMAXIMIZED.

---------
Ajay Kalra
ajaykalra@yahoo.com




Fei Xu, or Flying Xu wrote:
> Yes, I agree.
> So what should I do on MDI client area to display a restored view on the top
> of the maxmized view?
> I find the when one view is maxmized, the other view is actually not
> maxmized, but it's usder the maxmized view, so we can't see the restored view.
> I tried to use SetWindowPos to bring it to top, but it displayed for a very
> short time and then be covered by the maxmized view. And I notice the child
> frame already has WS_CLIPSIBLINGS style.
> I looked into the code of MFC, but find no clue, for MS hide all the code
> inside functions like MDIActive().
> But I really need this function, so, any suggestions?
>
> p.s. I find a software that already implemented this function,
> http://www.maxthon.com/ (pardon me, I'm not advtising for it, pls download
> and see the function I want and then delete it.)
>
> "Ajay Kalra" wrote:
>
> > I really doubt this can be done without playing games with MDIClient area
> > which is the parent of all the MDIChildWnd. I just verified in VC6 and it
> > behaves as I had guessed in my previous post.
> >
> > --
> > Ajay Kalra [MVP - VC++]
> > ajaykalra@yahoo.com
> >
> >
> > "flyingxu" <flyingxu@discussions.microsoft.com> wrote in message
> > news:584972E9-6DAA-45D0-8BAA-41B5E450E9F8@microsoft.com...
> > > I'm sure it's possible, bacause I've seen a software bahaves like what I
> > > mentioned
> > > But I don't know how to implement it.
> > >
> > > "Ajay Kalra" wrote:
> > >
> > > > I am not sure if thats possible. You can try calling activateframe on
> > the
> > > > mdichild window that contains the view. I suspect that the new frame
> > will
> > > > come in as maximized as well. You can try by resizing the view to cover
> > > > entire area of mainframe and then activating second frame.
> > > >
> > > > --
> > > > Ajay Kalra [MVP - VC++]
> > > > ajaykalra@yahoo.com
> > > >
> > > >
> > > > "flyingxu" <flyingxu@discussions.microsoft.com> wrote in message
> > > > news:20D25211-AC04-4E9A-A034-34F41A60B0F6@microsoft.com...
> > > > > In MDI, if a view is maxmized, all other views are hide.
> > > > > But I want to display a restored view on the top of the maxmized view,
> > how
> > > > > can I do that?
> > > >
> > > >
> > > >
> > 
> > 
> >

0
ajaykalra (6842)
11/30/2005 6:01:32 AM
Reply:

Similar Artilces: