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.
Subject |
Author |
Date |
|
L Freddi
|
Mar 29, 2009 - 8:09 PM
|
Hi, suppoters. I have a simple question about showing & hiding dialog. I have a dialog "A" that is CExtResizableDialog on CExtControlBar window "A_wnd" docked. m_clsPlaybackWnd.ShowWindow(bShow);
m_clsPlaybackDlg.ShowWindow(bShow); When the user change page, A and Awnd were hided using ShowWindow(HIDE) function. But the user return origin page, A and Awnd were still hided spite using ShowWindow(SHOW). I want to When the user return page, A and Awnd come up. Do you have another function except for ShowWindow() and any soloutions? Any help is greatly appreciated. freddi
|
|
L Freddi
|
Apr 1, 2009 - 5:35 AM
|
Dear Support, You misunderstand my question. I have each dialog inside each one control bar. "A" dialog inside "Awnd"control bar window. "B dialog inside "Bwnd"control bar window. "A" ,"B",..dialog inherited CExtResizableDialog class "Awnd", "Bwnd",.. control bar inherited CExtControlBar class I don’t want to use tabcontainer. I have serveral dialog in main page. When I change the other page, "A","B",.. and "Awnd", "Bwnd", .. on main page were hided using ShowWindow(HIDE) function. But I return main page, "A","B",.. and "Awnd", "Bwnd", .. were still hided inspite using ShowWindow(SHOW). Do you know the solution that "A","B",.. and "Awnd", "Bwnd", .. show up again? Do you have another function except for ShowWindow()? Any help is greatly appreciated. freddi
|
|
Technical Support
|
Apr 2, 2009 - 5:16 AM
|
It’s not correct to show/hide a window created as a child of the CExtControlBar window. Your dialogs should always be visible. You should show/hide the CExtControlBar windows using the CFrameWnd::ShowControlBar() method instead.
|
|
Technical Support
|
Mar 30, 2009 - 4:06 AM
|
First of all, the CExtControlBar window requires only one window to be created inside it. If you need two or more windows inside one control bar, you should create one container window as a child of the control bar and then create other windows, including your dialog, as children of this container window.
You can use one of our tab page container classes for this purpose. But you will need to hide tab control inside the tab page container. So, you should use the following class:
class CYourContainer : public CExtTabPageContainerWnd
{
public:
CYourContainer() { ShowTabStrip( false ); }
};
The CYourContainer class is a tab page container window which has persistently hidden tab control inside it. You should create the CYourContainer window as a child of the CExtControlBar window. Then you should create visible page windows, including your dialog, as children of the CYourContainer window and register them as pages using the CExtTabPageContainerWnd::PageInsert() method. To activate particular page window you should invoke the CExtTabPageContainerWnd::PageSelectionSet() method. Please do not forget to select required page initially.
|
|
L Freddi
|
Apr 1, 2009 - 5:36 AM
|
Dear Support, You misunderstand my question. I have each dialog inside each one control bar. "A" dialog inside "Awnd"control bar window. "B dialog inside "Bwnd"control bar window. "A" ,"B",..dialog inherited CExtResizableDialog class "Awnd", "Bwnd",.. control bar inherited CExtControlBar class I don’t want to use tabcontainer. I have serveral dialog in main page. When I change the other page, "A","B",.. and "Awnd", "Bwnd", .. on main page were hided using ShowWindow(HIDE) function. But I return main page, "A","B",.. and "Awnd", "Bwnd", .. were still hided inspite using ShowWindow(SHOW). Do you know the solution that "A","B",.. and "Awnd", "Bwnd", .. show up again? Do you have another function except for ShowWindow()? Any help is greatly appreciated. freddi
|
|