I don't know if I understand the problem, but the reason why e.g the popup is shown all the time, is because it is inherited from the inner frame's show component.
You should add virtual showcomponent, which will override it.
(pseudocode)
Code:
(header; virtual) auto Title::ShowComponent(BOOL Visible) -> void
{
//This will show all the components, so you have to call the showing / initial render functions here
ITInnerFrame::ShowComponent(Visible);
Box->ShowComponent(FALSE);
RenderStuff();
}
To load the titles, you have to call the functions, since you changed the frame, I have no idea where the call for that is, but you have to do something like
Code:
for (const auto& TitleGrp : CTChart::m_mapTitleGroup)
{
AddGroup(TitleGrp->...);
for(auto& Title : TitleGrp->m_mapTitle)
Add(Title->...);
}
it is most likely already in the code somewhere, just not being called.