VC++ 6.0 Доступ к scrollbars в диалоговом окне
От: NickName01  
Дата: 18.11.04 10:38
Оценка:
На первый взгляд простой вопрос, но не получается решить.
В среде VisualStudio 6.0 создаю простейшее диалоговое окно в редакторе ресурсов. Задаю стили Horizontal Scroll и Vertical Scroll. Функция GetScrollBarCtrl(SB_VERT) для класса диалогового окна возвращает NULL. Функция API ::GetScrollInfo(...) возвращает ошибку. Как получить доступ к этим полосам прокрутки?

Формат вызова:

BOOL CDialogScrollBarsDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    // TODO: Add extra initialization here

    CWnd const *pVScrollBar = GetScrollBarCtrl(SB_VERT);
    ASSERT(pVScrollBar != NULL);        // assert!
    SCROLLINFO ScrollInfo;
    ::ZeroMemory(&ScrollInfo, sizeof(ScrollInfo));
    ScrollInfo.cbSize = sizeof(ScrollInfo);
    ScrollInfo.fMask = SIF_ALL;
    BOOL bResult = ::GetScrollInfo(GetSafeHwnd(), SB_VERT, &ScrollInfo);
    if(!bResult) 
    {
        TRACE("%x\n", GetLastError());    // return 0
    }
    
    return TRUE;  // return TRUE  unless you set the focus to a control
}



22.11.04 00:44: Перенесено модератором из 'C/C++. Прикладные вопросы' — Павел Кузнецов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.