Kolory

Strona g│≤wna

 

Kolory

Temat wydaje siΩ byµ prosty. Postanowi│em jednak napisaµ jakie s▒ kolory w Delphi, a tych jest ju┐ wiΩcej. S▒ sta│e reprezentuj▒ce dane kolory, s▒ kolory Windosowskie (zaraz wyt│umaczΩ) oraz kolory, kt≤re sami ustalamy za pomoc▒ RGB.

Na pocz▒tek podam kolory sta│e. Zobacz do Object Inspektora, nasz formularz ma w│a╢ciwo╢µ Color, to tam ustalasz kolory sta│e oraz Windosowskie. S▒ one ukryte pod sta│ymi, kt≤re rozpoczynaj▒ siΩ od wyrazu cl. Teraz wyt│umaczΩ co to s▒ kolory nazwane przez ze mnie Windosowskimi. S▒ to kolory, kt≤re mog▒ zmieniµ kolor w zale┐no╢ci od tego jak u┐ytkownik ustawi│ sobie kolory w Windowsie (W│a╢ciwo╢ci pulpitu, karta Wygl▒d). Zauwa┐, ┐e gdy napiszesz program i go uruchomisz tw≤j formularz bedzie mia│ kolor srebrny (jasny szary). Teraz ustaw we w│a╢ciwo╢ciach ekranu inny kolor w opcji Obiekty tr≤jwymiarowe. Znowu uruchom program. Zmieni│ siΩ jego kolor formularza! A przecie┐ nic nie zrobi│e╢. Dlaczego tak siΩ sta│o? Zobacz jaki kolor ma tw≤j formularz. BtnFace prawda? To s▒ te Windosowskie kolory. Mys│Ω, ┐e rozumiesz. Tabela ni┐ej przedstawia kolory sta│e.

Sta│a w Delphi Znaczenie Kolor po angielsku
clAqua Akwamaryna Aqua
clBlack Czrany Black
clBlue Niebieski Blue
clFuchsia Fuksja Fuschsia
clGray Szary Gray
clGreen Zielony Green
clLime Limowy Lime Green
clMaroon Jakis taki br▒zowy :) Maroon
clNavy Granatowy Navy
clOlive Oliwkowy Olive
clPurple Purpurowy Purple
clRed Czerwony Red
clSilver Srebrny Silver
clTeal Taki zielono-niebieski jest podstawowym kolorem pulpitu (Win 95 i Win 98) Teal
clWhite Bia│y White
clYellow »≤│ty Yellow

Prawda, ┐e nic trudnego? Kto zna angielski nie musi│a tego czytaµ :P. Teraz przejdziemy do trudniejszej rzeczy czyli kolory Windosowskie.

Sta│a w Delphi Zanczenie
clBackground Bie┐▒cy kolor pulpitu.
clActiveCaption Kolor aktywnego nag│≤wka
clInactiveCaption Kolor nieaktywnego nag│≤wka
clMenu Kolor t│a menu
clWindow Kolor t│a okna
clWindowFrame Kolor ramki okna
clMenuText Kolor tekstu w menusach
clWindowText Kolor tekstu w oknie
clCaptionText Kolor tekstu w nag│≤wku okna
clActiveBorder Kolor aktywnej granicy okna
clInactiveBorder Kolor nieaktywnej granicy okna
clAppWorkSpace Kolor t│a aplikacji
clHighlight Kolor t│a zaznaczonego tekstu
clHighlightText Kolor zaznaczonego tekstu
clBtnFace Kolor tr≤jwymiarowych obiekt≤w
clBtnShadow Kolor cienia obiekt≤w tr≤jwymiarowych
clGrayText Kolor tekstu, kt≤ry jest zaciemniony
clBtnText Kolor tekstu na obiektach 3D
clInactivceCaptionText Kolor tekstu w nag│≤wku okna nieaktywnego
clBtnHighLight Nie za bardz rozumiem, ale zacytujΩ to oc napisali w helpie: "Current color of the highlighting on a button"
cl3dDkShadow Ciemny kolor cienia w obiektach 3D
cl3DLight Jasny kolor 3D element≤w
clInfoText Kolor tekstu w podpowiedziach (Hint)
clInfoBK T│o podpowiedzi (Hint)

Uff... to by│o mΩcz▒ce (przynajmniej w pisaniu w Notatniku) i na szczΩ╢cie zaraz sko±czy siΩ ten tekst. Tylko najpierw om≤wiΩ jeszcze jedn▒ sprawΩ. Jak wiesz kolor podaje siΩ w ten spos≤b:
Form1.Color := clBtnFace;

Tego nie muszΩ omawiaµ, bo po prostu po znakach := postaw odpowiedni▒ warto╢µ, kt≤re poda│em wy┐ej. Jednak dla tych, kt≤rzy chc▒ napisaµ grΩ nie starczy 16 kolor≤w. W firmie Borland kto╢ pomy╢la│ i powsta│ jeszcze jeden spos≤b ustawiania kolor≤w. Robimy to tak: Form1.Color := RGB(200, 200, 200);
Jak zauwa┐yli╢cie napisa│em wszystko jak wyt┐ej, ale po znakach := napisa│em RGB. To "co╢" :) umo┐liwia nam wpisanie w nawiasie 3 warto╢ci nie przekraczaj▒cych 255 (mo┐emy jednak wpisaµ zero). Podajemy tu kolory w systemie 16 bitowym (czy jako╢ tak :P), czyli mamy do dyspozycji oko│o 16 milion≤w kolor≤w. Starczy? Teraz podam jakie warto╢ci odpowiadaj▒ typowym kolorom:

RGB(255, 0, 0); // czerwony
RGB(0, 255, 0); //zielony
RGB(0, 0, 255); //niebieski
RGB(255, 255, 0); //┐≤│ty
RGB(255, 0, 255); //purpurowy
RGB(255, 255, 255); //bia│y
RGB(0, 0, 0); //czarny

PC
przempc@poczta.onet.pl