Сообщений 0    Оценка 33        Оценить  
Система Orphus

Как обновлять команды Назад/Вперед?

Автор: Тимофей Чадов
Опубликовано: 7.09.2001
Исправлено: 13.03.2005
Версия текста: 1.0

Для перемещения по списку истории WebBrowser позволяет использовать пару методов - GoBack и GoForward. Как узнать, когда запрещать/разрешать данные команды?

WebBrowser поддерживает событие OnCommandStateChange, которое возникает при изменении состояния команд Назад-Вперед. В функцию обработки передается два параметра: идентификатор команды (CSC_NAVIGATEFORWARD или CSC_NAVIGATEBACK) и флаг определяющий состояние. Соответствующие константы определены в файле "exdisp.h".

Для того, чтобы переопределить функцию обработки, воспользуйтесь ClassWizard. В следующем фрагменте кода приведен пример возможной реализации.

void CMyHtmlView::OnCommandStateChange(long nCommand,  BOOL bEnable)
{
    switch (nCommand)
    {
    case CSC_NAVIGATEFORWARD:
        m_bCmdForward = bEnable;
        break;
    case CSC_NAVIGATEBACK:
        m_bCmdBack = bEnable;
        break;
    default:
        break;
    }
}

void CMyHtmlView::OnUpdateForward(CCmdUI* pCmdUI) 
{
    pCmdUI->Enable(m_bCmdForward);
}

void CMyHtmlView::OnUpdateBack(CCmdUI* pCmdUI) 
{
    pCmdUI->Enable(m_bCmdBack);
}

Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
    Сообщений 0    Оценка 33        Оценить