Я работаю над диалоговым MFC-приложением в WinCE. Я создал несколько элементов управления в диалоговом окне и прокрутил вниз. Когда я снова прокрутку вверх, элементы управления на первом экране исчезли.MFC Controls исчезает после прокрутки
управления получение создан в OnInitDialog(), как показано ниже в точке с координатами (50,10)
test->Create(_T("Title"), WS_CHILD|WS_VISIBLE, CRect(50,10,200,40), this, ID_TITLE);
обработка Scroll я делаю в 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() для рисования элементов управления каждый раз, когда я прокручиваю? Если да, то как?
Вы делаете какие-либо перемещения/изменения размера этих элементов управления? Может быть, вы неправильно вычисляете границы? Они все еще функционируют или полностью ушли? Частично ли они исчезают, если вы немного прокручиваетесь, или это всегда полный контроль? – tenfour
В My WinCE эмулятор отсутствует кнопка свернуть. Я использую Windows Mobile 6.x SDK с визуальной студией 2008 – bjskishore123
@tenfour: всегда весь контроль исчезает. – bjskishore123