Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

CDC::ScrollDC + CScrollBar: проблемы.

14K
13 февраля 2006 года
pingwinlin
7 / / 05.02.2006
Код:
void CImg_recogn_win32Dlg::OnPaint()
{
        CPaintDC dc(this); // device context for painting
        //dc.SetViewportOrg( 0, 0 );
        dc.SetViewportExt( 300, h );
        dc.SetWindowExt( 300, h );
        dc.BitBlt( 0, 0, 300, 200, &virt_dc1, 0, 0, SRCCOPY );
 
 
afx_msg void CImg_recogn_win32Dlg::OnVScroll( UINT code, UINT pos, CScrollBar *sb )
{
    CClientDC dc( this );
    if( !sb ) return;
    p_old = p;
    int p = pos;
    switch( code )
    {
        case SB_LINEUP:
        p--;
        if( p < 0 ) p = 0;
        break;
        case SB_LINEDOWN:
        p++;
        if( p > h ) p = h;
        break;
        case SB_PAGEUP:
        p -= 10;
        if( p < 0 ) p = 0;
        break;
        case SB_PAGEDOWN:
        p += 10;
        if( p > h ) p = h;
        break;
    }
    sb->SetScrollPos( p );
    int dy = p_old - p;
    CRect scroll_rect( 0, 0, 300, 200 );
    CRect update_rect( 0, p, 300, p + 200 );//если это убрать то скроллинг идет
    CRect cliping_rect( 0, p, 300, p + 200 );//но содержимое не обновляется,
                                                                  //а идет фоном
 
    dc.ScrollDC( 0, dy, &scroll_rect, &cliping_rect, 0, 0 );
}


--------------------------------------------------------------------------------

если не убирать то тоже не обновляется.
Поясните пожалуста что же значат update_rect, cliping_rect, update_rgn. И как их использовать. RTFM читал.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог