How to activate/deactivate MDI views ?
Andrew Kondrashow -- recoder@world.std.com
Thursday, December 12, 1996
Environment: MSVC++ 4.1, Windows 95
I'm trying to extend Stingray's OT library. I wanted to activate a view,
embedded into control bar. (My application is an MDI app) But I can not
activate this view, it only gains focus. The active MDI child window
remains active (it has highlighted frame caption and it gets commands
from the menu). I tried SetFocus(), MDIActivate(), SetActiveView(),
even SetActiveWindow(), nothing helped.
Any help would be greatly appreciated.
Thanking you in advance.
Andrew Kondrashov
recoder@world.std.com
Mike Marshall -- marshall@milner.com
Monday, December 16, 1996
I'm not using stingray's library, but I've implemented something
similar myself. And it's been non-trivial for me to say the
least.
The problem is that control bars are not included
in the list of MDI children in your application,
and control bars have no concept of being
"activated". So even though your view has focus,
the current MDI child will still be "activated",
these are two separate concepts.
What a co-worker of mine had to do on a project was
create a hidden MDI child window that the user
couldn't see and route windows messages through
that hidden MDI child to the view in the control
bar, giving the control bar the illusion of
being the active MDI child.
This is hokey at best, and I've found that more
headaches arise as you go on, but this is the
only way I know of to create the illusion you
are looking for.
--
Mike
----------
From: Andrew Kondrashow[SMTP:recoder@world.std.com]
Sent: Thursday, December 12, 1996 9:40 AM
To: 'MFC List'
Subject: How to activate/deactivate MDI views ?
Environment: MSVC++ 4.1, Windows 95
I'm trying to extend Stingray's OT library. I wanted to activate a view,
embedded into control bar. (My application is an MDI app) But I can not
activate this view, it only gains focus. The active MDI child window
remains active (it has highlighted frame caption and it gets commands
from the menu). I tried SetFocus(), MDIActivate(), SetActiveView(),
even SetActiveWindow(), nothing helped.
Any help would be greatly appreciated.
Thanking you in advance.
Andrew Kondrashov
recoder@world.std.com
| Вернуться в корень Архива
|