PageControl - kolorowanie Nagłówka

dział ogólny

PageControl - kolorowanie Nagłówka

Nowy postprzez Corvis » piątek, 26 marca 2010, 10:00

Witam,

Napisałem sobie kawałek programu który koloruje mi nagłówki w PageControlu ( Taby ) Problem polega na tym, że jak włączam właściwość
Kod: Zaznacz cały
OwnerDraw = true;
w PageControl i wykonuje kod:

Kod: Zaznacz cały
void __fastcall TFrmGui1::pgctrlMainDrawTab(TCustomTabControl *Control, int TabIndex, const TRect &Rect, bool Active) {
    if(TabIndex==1) {
        Control->Canvas->Brush->Color=clGreen;
    }
    Control->Canvas->TextOut(Rect.Left+5,Rect.Top+3,pgctrlMain->Pages[TabIndex]->Caption);
    pgctrlMain->Pages[TabIndex]->Brush->Color = Control->Canvas->Brush->Color;
}


To owszem kolrowanie jest - ale zmienia się styl grida. Rezultat w załączniku. Wie ktoś może jak uniknać tego efektu ??. Żeby w efekcie końcowym grid był pokolorowany ale został w starym stylu ??.

Pozdrawiam
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows VistaSafari

Re: PageControl - kolorowanie Nagłówka

Nowy postprzez polymorphism » piątek, 26 marca 2010, 10:23

Tak to się chyba nie da. Albo standardowy wygląd, albo własny. Użyj gradientu do wypełnienia tła, obrysuj to konturami, coby dodać wyglądu 3D, i powinno wyglądać ok.

swoją drogą, z tego co widać na obrazkach, nie wypełniasz kolorem powierzchni taba, jedynie zmieniasz tło tekstu. Wyłącz je w ogóle funkcją SetBkMode, a tło rysuj w typowy sposób, przed napisami, obejmując całą niezbędną powierzchnię.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 7 gości