Print Page | Close Window

Docking pane positioning

Printed From: Codejock Forums
Category: Codejock Products
Forum Name: Toolkit Pro
Forum Description: Topics Related to Codejock Toolkit Pro
URL: http://forum.codejock.com/forum_posts.asp?TID=5181
Printed Date: 01 June 2025 at 6:01am
Software Version: Web Wiz Forums 12.04 - http://www.webwizforums.com


Topic: Docking pane positioning
Posted By: sunilwarke
Subject: Docking pane positioning
Date 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



Replies:
Posted By: asparagusx
Date Posted: 13 February 2007 at 7:59am
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
 



Print Page | Close Window

Forum Software by Web Wiz Forums® version 12.04 - http://www.webwizforums.com
Copyright ©2001-2021 Web Wiz Ltd. - https://www.webwiz.net