В моем приложении MDI я загружаю один DialogBar в мейнфрейм. Но я хочу показать этот DialogBar, когда вызывается какое-то дочернее окно (GroupView, TrendView). Для других окон оно должно быть скрыто (GraphView). Так что для всех функций используется для вызова дочернего окна из CMainFrame скрывает DialogBar, как это.
void CMainFrame::OnGroupview()
{
.
.
.
m_RecentAlarms.ShowWindow(SW_HIDE);
}
Для некоторых
void CMainFrame::OnGroupview()
{
.
.
.m_RecentAlarms.ShowWindow(SW_SHOW);
}
Итак, когда я нажимаю TrendView, я получаю DialogBar, а когда я нажимаю GraphView, DialogBar скрывается. Но опять же, когда я нажимаю TrendView, я не получаю Dialogbar. Поскольку приложение представляет собой несколько окон. Предыдущий TrendView находится за GraphView, когда я вызываю только его показ в передней части.
Таким образом, моя идея состоит в том, что у меня есть один поток в мейнфрейме, эта функция обновляет некоторые значения во всех представлениях. В этом я проверю, является ли активный просмотр TrendView, если это так, тогда DialogBar будет показан иначе, он будет скрыт .
Я использовал это ..
CMDIChildWnd* pChild = ((CMainFrame*)AfxGetMainWnd())->MDIGetActive();
Но я не знаю, как получить активное представление только TrendView ....
Пожалуйста, помогите мне в этом вопросе.