Professional UI Solutions
Site Map   /  Register
 
 

Forum

Please Log In to post a new message or reply to an existing one. If you are not registered, please register.

NOTE: Some forums may be read-only if you are not currently subscribed to our technical support services.

Forums » Prof-UIS General Discussion » CMdiTabSwitcher Problem Collapse All
Subject Author Date
Paul Giblock Nov 12, 2003 - 12:28 AM

I recently created an MDI application using CMdiTabSwitcher. I have a few questions. First, the TabBar Spans across the entire width of my MainFrame. If I have a ControlBar docked on either side of the window, then the Tabs go across the top of the Bars. Additionally, if I dock a controlbar to the top of the frame, then the TabBar appears above the ControlBar, instead of underneith it.

~Paul

Sergiy Lavrynenko Nov 13, 2003 - 7:14 AM

Dear Paul,

To set the initial docking state of resizable bars in the frame window, the following method of CExtControlBar is always should be used at least once:

	bool CExtControlBar::DockControlBar(
		UINT nDockBarID,
		UINT nCircleNo,
		CFrameWnd * pDockSite = NULL,
		bool bRecalcLayout = true
		);

The nCircleNo parameter for any resizable bar should be greater than or equal to 1. I believe this is the source of invalid tab window behavior.

Best regards, Sergiy.

Paul Giblock Nov 13, 2003 - 7:54 PM

Sergiy,

That did not fix my problem. Please consider the image at: http://www.llamarama.net/spasm/MDITabError.gif

You can see that the CExtTabMdiWnd is drawn across the whole Frame. This is fine, but when the user docks the ControlBars to the right, the CExtTabMdiWnd should only go right upto the Bars.. not all the way across.

Also look at:
http://www.llamarama.net/spasm/MDITabError2.gif

If you notice, when the user docks the ControlBars to the top of the window, the CExtTabMdiWnd is placed above the ControlBar. Instead, the CExtTabMdiWnd should be drawn underneith the ControlBars and above the document’s View.

Thanks Again,
Paul

Sergiy Lavrynenko Nov 14, 2003 - 12:26 AM

Hi Paul,

Could I take a look at your frame window initialization code (the CMainFrame::OnCreate() method or all the project files)? You can send it to me via e-mail.

Regards Segiy.