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:
"http://jaamo.freeownhost.com/tabcontrol.jpg" - Link do niego, bo nie wiem czemu nie chce się pokazać pod IE :(</image>
0
0
Ownerdraw controls to jest to co tygryski lubia najbardziej :D
Zmiana koloru dokladnie tego obszaru to:
- 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:
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>