Здравствуйте, Logik, Вы писали:
.. skip ..
Нужно из другого класса изменить m_bLogActive, т.к. CLogView::OnUpdateLogTmp(CCmdUI *pCmdUI) вызывается в idle-е циклах окна. Т.е. в данном случае у вас состояние меню сразу-же изменяется.
Т.е. что-то наподобии:
class CMyDoc : public CDocument
{
// ...
public:
bool m_bLogActive;
};
void CLogView::OnUpdateLogTmp(CCmdUI *pCmdUI)
{
CMyDoc* pDoc( (CMyDoc*)GetDocument() );
pCmdUI->SetCheck( pDoc->m_bLogActive ? MF_CHECKED : MF_UNCHECKED );
}
// Где-то в другом классе:
CMyDoc* pDoc( (CMyDoc*)GetDocument() ); // или каким другим способом получить ссылку на документ
pDoc->m_bLogActive = false;