Solved

CDialogBar help

Posted on 1998-05-04
7
360 Views
Last Modified: 2013-11-20
null
0
Comment
Question by:phuene
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
7 Comments
 
LVL 7

Expert Comment

by:galkin
ID: 1307168
There is internal MFC class CDockBar responsible for docking control bars. CControlbar class has a pointer to CDockBar and CDockBar's member function ReDockControlBar is called when redocking is neccessary
0
 

Author Comment

by:phuene
ID: 1307169
Thank you for the comment.  I've looked over the MFC source code and I now see the member pointer to the CDockBar class, but I'm not sure how this would help me, since I can't modify the member functions of CDockBar (without recompiling mfc of course).  I need someway to have the framework tell me when the docking status of the dialog bar has changed, as well, I need to know what happens and how to over-ride it when the user clicks on the "x" of the floating dialog bar.  Thanks.
                Peter Huene
0
 
LVL 1

Accepted Solution

by:
Murali Devarakonda earned 100 total points
ID: 1307170
All messages for the CDialogBar go to it's parent- the Frame.
You can add handlers for relevant messages in either the Frame, View, Doc or App class(es).

Check out http://support.microsoft.com/support/kb/articles/q98/1/98.asp
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:phuene
ID: 1307171
Does that include messages like WM_CLOSE and WM_SHOWWINDOW?  Or just control notification messages?
0
 
LVL 1

Expert Comment

by:Murali Devarakonda
ID: 1307172
The DialogBar class gets the WM_SHOWWINDOW. I don't see anyone getting the WM_CLOSE notification. You are right- the DialogBar is hidden, not closed.

You can implement custom behaviour by overriding OnCmdMsg.
0
 

Author Comment

by:phuene
ID: 1307173
Ok well, I see it gets WM_SHOWWINDOW, because OnShowWindow() is being called, but it isn't being called when the dialog bar is being hidden as a result of the user "closing" the dialog bar (selecting the close button).  Any ideas?
0
 
LVL 1

Expert Comment

by:Murali Devarakonda
ID: 1307174
Try using Spy++ utility that comes with Visual C++. You can monitor all messages generated by user interaction.

Good luck.
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Finishing the grid – keyboard support for arrow keys to manoeuvre, entering the numbers.  The PreTranslateMessage function is to be used to intercept and respond to keyboard events. Continuing from the fourth article about sudoku. …
Introduction: The undo support, implementing a stack. Continuing from the eigth article about sudoku.   We need a mechanism to keep track of the digits entered so as to implement an undo mechanism.  This should be a ‘Last In First Out’ collec…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question