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 » How to insert CExtDynamicControlbar to CExtTabWnd dynamically? Collapse All
Subject Author Date
Michael chang Dec 26, 2011 - 2:47 AM

Hi.


I’m implementing a skinable project using Pro-UIS library and Pro-Skin library.  I have created several tabs like your sample project skinable in CMainFrame::OnCreate() method.


But, I want to create a tab dynamically. For example, If I click the menu then the Tab is inserted on CExtMdiTabWnd.


How to insert CExtDynamicControlbar on CExtMdiTabWnddynamically?


Additionally, In your skinable sample project, If i click the tablist button on CExtMdiTabWnd then show the menu including CExtDynamicControlbar items like Button, ColorControl, InputField.


How to catch the event when click the menu item(button,Color Control....)?


 

Michael chang Jan 4, 2012 - 5:19 AM

Thank you for reply.


Then, When I switch a dynamic control bar into MDI document mode using BarStateSet() method, Can i set the position of the tab?


Example, In your skin sample If i set the document mode, dynamic resizable control bar is inserted last position always.


 


thanks in advance.

Technical Support Jan 12, 2012 - 2:57 AM

Yes you can. You can find a tab item using the LPARAM value assigned to it. The LPARAM value associated with a tab item is set to the HWND handle of a dynamic bar’s child window. You can invoke the CExtTabWnd::ItemMove() API to move a tab item into a desired location.

Technical Support Jan 4, 2012 - 3:31 AM

To switch a dynamic resizable control bar into MDI document mode, you should invoke the CExtDynamicControlBar::BarStateSet() method with the CExtDynamicControlBar::__EDBS_DOCUMENT value in parameter.
To to make a dynamic resizable control bar re-dockable and organized into the same tabbed bar group with other bar, you should set the code>CExtDynamicControlBar::__EDBS_DOCKED</code> state for both bars, specify the position of one of them using the CExtControlBar::DockControlBarInnerOuter() API, then dock second bar into tabbed group with first using the CExtControlBar::DockControlBarIntoTabbedContainer() API.