На первый взгляд простой вопрос, но не получается решить.
В среде 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++. Прикладные вопросы' — Павел Кузнецов