Re: Как закрасить правую область в CTabCtrl?
От: VVV Россия  
Дата: 17.07.02 09:15
Оценка:
Здравствуйте dennisV, Вы писали:

V>Помогите пожалуйста, как закрасить отмеченную область (ну например битмапом из ресурса). У меня свои CPropertySheet и CTabCtrl классы, но OnPaint, OnNcPaint, EraseBkgnd делают не то что я бы хотел... Или мне все же придется писать полностью ownerdraw? Буду рад любым откликам.


V>


А так? (у меня получилось)


BOOL CMyTabCtrl::OnEraseBkgnd(CDC* pDC) 
{
    // TODO: Add your message handler code here and/or call default
    
    BOOL res=CTabCtrl::OnEraseBkgnd(pDC);
    
    RECT r;
    GetClientRect(&r);
    CBrush br(RGB(0, 255, 0));

    RECT ri;
    GetItemRect(GetItemCount()-1, &ri);
    ri.top=r.top;
    ri.left=ri.right;
    ri.right=r.right;

    pDC->FillRect(&ri, &br);
    int mode=pDC->SetBkMode(TRANSPARENT);
    pDC->DrawText("Hello", &ri, DT_CENTER);
    pDC->SetBkMode(mode);

    return res;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.