![]() |
Docking pane positioning |
Post Reply ![]() |
Author | |
sunilwarke ![]() Newbie ![]() Joined: 28 September 2006 Status: Offline Points: 6 |
![]() ![]() ![]() ![]() ![]() Posted: 02 October 2006 at 2:14am |
Hi,
I am using Docking Pane (Xtreme ToolkitPro 10.3)
I have created 6 dialog boxes in the MDI application. The dialog boxes does not have any border. These dialogs are added on the docking pane manager creating a docking pane for each of them.
Would like to know
1. How to maximize each pane on some button click? I can not access the SetWindowRect as it is protected.
2. When my docking pane is floting, I can change it's size however the trending activex control added on that pane/dialog flickers much. Also when the pane is double clicked it attached to some window but the size of the control does not change. Is there any way to control the size of activex control or any list control added on the dialog automatically as the pane size may change.
3. The pane can be rearrahged/position can be changed by user, is there any way to autoarrange or set all pane position to some default position on some button click?
4. How to put all panes in the tabbed format by some button click?
Thanks and regards,
Sunil |
|
![]() |
|
asparagusx ![]() Groupie ![]() Joined: 06 February 2007 Status: Offline Points: 57 |
![]() ![]() ![]() ![]() ![]() |
Sunil
I have written a function (outline code here only) that might help you. This function 'resets' all the docking windows to a know state. I close all the panes first (to get it to a known state) and then show/hide/dock as appliable. Also use SetMinTrackSize and SetMaxTrackSize to 'resize' panes as required :
CXTPDockingPaneInfoList& lstPanes = m_paneManager.GetPaneList(); POSITION pos = lstPanes.GetHeadPosition(); m_paneManager.HideClient(TRUE); while (pos){ CXTPDockingPane* pPane = lstPanes.GetNext(pos); if (!pPane->IsClosed())pPane->Close(); } m_paneManager.RecalcFramesLayout(); pos = lstPanes.GetHeadPosition(); while (pos){ CXTPDockingPane* pPane = lstPanes.GetNext(pos); switch (pPane->GetID()){ case ID_DATATREE_DOCK :m_paneManager.ShowPane(pPane,FALSE); m_paneManager.DockPane(pPane,xtpPaneDockLeft); break; case ID_ZOOMWIN_DOCK :m_paneManager.ShowPane(pPane,FALSE); m_paneManager.DockPane(pPane,xtpPaneDockBottom,m_paneManager.FindPane(ID_DATATREE_DOCK)); break;:
:
:
do any other panes here
}
}
Hope this might be of some assistance.
Anton Heymann |
|
![]() |
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 |