Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > Visual C++ MFC > Docking Pane
  New Posts New Posts RSS Feed - Version 20.1 Docking pane woes
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Version 20.1 Docking pane woes

 Post Reply Post Reply
Author
Message
rdhd View Drop Down
Senior Member
Senior Member
Avatar

Joined: 13 August 2007
Location: United States
Status: Offline
Points: 891
Post Options Post Options   Thanks (0) Thanks(0)   Quote rdhd Quote  Post ReplyReply Direct Link To This Post Topic: Version 20.1 Docking pane woes
    Posted: 29 September 2021 at 4:52pm
After updating our app to version 20.1, I found that our docking panes would not size. Nor would pinning and unpinning result in a good display. I had to resize the frame window to see the auto-hide panel or to get the app frame to display. I found the reason was that in CXTPDockingPaneManager::RecalcFrameLayout the code now checks m_bInitialUpdateCalled and if that member is false, it would just return rather than calling RecalcLayout on the frame.

I fixed that by sending the WM_INITIALUPDATE message to the pane manager. But now, I am having a lot of other issues with docking pane client windows. Using spy++ I found that mouse messages aren't getting to our dialogs or to the task panel we have as a child of the client window of the pane it is in. Cursors aren't updating when the mouse enters a window, controls don't respond to mouse clicks ...

Now I have found that CXTPDockingPane::Attach is also sending WM_INITIALUPDATE to each CWnd (dialogs in our case) being attached. If I skip sending the messages to the input CWnd, everything works as it has for ever.

What's going on here?
Back to Top
rdhd View Drop Down
Senior Member
Senior Member
Avatar

Joined: 13 August 2007
Location: United States
Status: Offline
Points: 891
Post Options Post Options   Thanks (0) Thanks(0)   Quote rdhd Quote  Post ReplyReply Direct Link To This Post Posted: 29 September 2021 at 4:58pm
I don't know why this call to send WM_INITIALUPDATE to our windows causes issues and wish I did. I found the call to send it to the input CWnd caused the issue while sending it to the descendants of the input CWnd did not cause the issue.

I finally gave up and set m_bAutoInitialUpdate to false. But why? What's going on?
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.184 seconds.