Action xtpPaneActionUnpinned doesn't update view |
Post Reply |
Author | |
sdancer75
Groupie Joined: 08 July 2008 Location: Greece Status: Offline Points: 70 |
Post Options
Thanks(0)
Posted: 04 March 2014 at 2:08pm |
Hi,
Docking panes generally reduce or increase the client's space area that is enabled at the moment. Let's say a simple CView. When actions "xtpPaneActionUnpinned" or "xtpPaneActionPinned" are captured, the client space of this CView is not updated to mirror the new space area. So, how to know the new space area when one of the above actions are captured ? Regards, |
|
Just me!
|
|
sdancer75
Groupie Joined: 08 July 2008 Location: Greece Status: Offline Points: 70 |
Post Options
Thanks(0)
|
GetClientArea(rect) --> returns the old dimensions for the client area which are as docking panes are still expanded. Of course it would updated later, but inside the OnDockingPaneNotify at the moment of event is triggered I get the old client area. Any recommendation ? |
|
Just me!
|
|
Xander75
Senior Member Joined: 26 April 2007 Status: Offline Points: 353 |
Post Options
Thanks(0)
|
Hi,
I had something similar happen to one of my C#.Net projects were I was using the TrackControl within a DockingPaneManager object. Basically the events would stop firing within this form, no matter what I did I just couldn't seem to get it to resolve itself. However I manaually resolved this by calling the DockingPaneManager.RecalcLayout(); method to force the change to redraw the panes correctly. |
|
Product: Xtreme SuitePro (ActiveX) v15.3.1
Platform: Windows 7 64-bit (SP1) Professional Edition Languages: C#.Net using Visual Studio 2012 & Visual Basic 6.0 (SP6) |
|
sdancer75
Groupie Joined: 08 July 2008 Location: Greece Status: Offline Points: 70 |
Post Options
Thanks(0)
|
Thank you, I already tried this and it works, BUT I think (I dont remember right now) that RecalcLayout triggers a repaint message that codejock framework will trigger either way and I am getting two WM_PAINT messages which creates flicker.
As soon as I verify this, i will let you know. Best Regards, Edit : I get Debug Assertion error at "atlmfc/src/mfc/viewform.cpp" (see the code below), either using m_paneManager.RecalcFramesLayout(); or CFrameWnd:RecalcLayout(); since when message xtpPaneActionPinned is triggered the dialogform is not created yet ! In this case the RecalcLayers is not working :-( atlmfc/src/mfc/viewform.cpp line 90 #ifdef _DEBUG // dialog template must exist and be invisible with WS_CHILD set if (!_AfxCheckDialogTemplate(m_lpszTemplateName, TRUE)) { ASSERT(FALSE); // invalid dialog template name PostNcDestroy(); // cleanup if Create fails too soon return FALSE; } #endif //_DEBUG |
|
Just me!
|
|
sdancer75
Groupie Joined: 08 July 2008 Location: Greece Status: Offline Points: 70 |
Post Options
Thanks(0)
|
Any update to this problem from new releases ?
|
|
Just me!
|
|
olebed
Admin Group Joined: 01 July 2014 Location: Ukraine Status: Offline Points: 841 |
Post Options
Thanks(0)
|
Hi,
I think this is normal behaviour of xtpPaneActionUnpinned action. Instead try to handle xtpPaneActionCollapsed, xtpPaneActionClosed or xtpPaneActionDeactivated. Also other actions are defined in toolkitpro\Source\DockingPane\XTPDockingPaneDefines.h in enumeration XTPDockingPaneAction. Regards, Oleksandr Lebed |
|
sdancer75
Groupie Joined: 08 July 2008 Location: Greece Status: Offline Points: 70 |
Post Options
Thanks(0)
|
Thanks for the reply. I solved my problem by catching the wm_resize message from my pane. Best Regards, |
|
Just me!
|
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |