Я работаю над диалоговым приложением MFC в WinCE.Я создал несколько элементов управления в диалоге и прокрутил вниз.При повторной прокрутке вверх элементы управления на первом экране исчезли.
Элементы управления создаются в OnInitDialog (), как показано ниже в координатах (50,10)
test->Create(_T("Title"), WS_CHILD|WS_VISIBLE, CRect(50,10,200,40), this, ID_TITLE);
Обработка прокруткиделать в OnVScroll (), как показано ниже
switch(nSBCode)
{
case SB_LINEDOWN:
{
if(nPos < max)
{
ScrollWindowEx(0, SCROLLDOWN_LINE_STEPSIZE, CRect(0,0, rect.right - 25, rect.bottom), NULL, NULL, NULL, SW_SCROLLCHILDREN | SW_INVALIDATE);
pScrollBar->SetScrollPos(nPos - SCROLLDOWN_LINE_STEPSIZE); //nPos+10
}
break;
}
case SB_LINEUP:
{
if(nPos > min)
{
ScrollWindowEx(0, SCROLLUP_LINE_STEPSIZE, CRect(0,0, rect.right - 25, rect.bottom), NULL, NULL, NULL, SW_SCROLLCHILDREN | SW_INVALIDATE);
pScrollBar->SetScrollPos(nPos - SCROLLUP_LINE_STEPSIZE); //Ex: nPos-10
}
break;
}
default:
printf("Notimplemented");
break;
}
Я работаю с прокруткой вниз и прокруткой вверх.При прокрутке вниз отображаются все элементы управления в диалоге.Но при прокрутке вверху исчезли элементы управления вверху.
Что происходит?Должен ли я реализовать метод OnPaint () для рисования элементов управления каждый раз, когда я прокручиваю?Если да, то как?