Re: Как сделать изменение состояния checked в меню?
От: spring  
Дата: 08.09.08 13:05
Оценка:
Здравствуйте, 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;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.