[VC++]Problem z kontrolką Tab Control

0

Mam problem z kolorami w VC++, a dokładniej nie wiem jak zmienić tło kontrolki Tab Control, którego część wyświetla się obok zakładek. Domyślny kolor: szary (aż do bólu:) ) chciałbym zmienić na jakiś inny, lub przezroczysty.
Tak to wygląda:
user image
"http://jaamo.freeownhost.com/tabcontrol.jpg" - Link do niego, bo nie wiem czemu nie chce się pokazać pod IE :(</image>

0

Ownerdraw controls to jest to co tygryski lubia najbardziej :D

Zmiana koloru dokladnie tego obszaru to:

  1. Musisz miec klase dla swojej kontrolki np. CMojTabCtrl wywodzaca sie z CTabCtrl
    2.:
// Odrysowanie tla 
BOOL CMojTabCtrl::OnEraseBkgnd(CDC *pDC)
{
    CRect rClient, rTab;
    // Niech kontrolka odrysuje co potrzeba sama
    CTabCtrl::OnEraseBkgnd(pDC);

    // a teraz my
    // wielkosc kontrolki
    GetClientRect(rClient);
    // wielkosc tab'u
    GetItemRect(0, rTab);

    // tylko do dlugosci tab'ow
    rClient.bottom = rTab.Height();
    // i rysujemy
    pDC->FillSolidRect(rClient.left, rClient.top, rClient.Width(), rClient.Height()+2, RGB(255,0,0));

    return TRUE;
}
0

Dzięki Malcolm - to rzeczywiście działa! Oto dowód:
user image
Namęczyłem się setnie i w końcu doszedłem dlaczego miałem z tym takie problemy: miałem dołączony plik manifestu, pozwalający uzyskać styl XP, który w jakiś sposób blokował działanie podanego przez Ciebie sposobu postępowania.
Zapewne dzięki tej oto linii kodu:
"name="Microsoft.Windows.Common-Controls" "
Kiedy usunąłem plik wszystko działało OK.

Powstał nowy problem... :)

Jak wcześniej link: "http://jaamo.freeownhost.com/1.jpg"</image>

1 użytkowników online, w tym zalogowanych: 0, gości: 1