HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Internet Explorer-ben használható színek


Példaprogram letöltése

5652 bájt

Webes alkalmazások fejlesztésekor a HTML oldalak tervezésénél szükségszerű, hogy színeket használjunk. Az Internet Explorer 4-es verziójától kezdve nagyon sok színt név szerint is azonosíthatunk nem csak RGB értékkel.
Mellékelt példában egy olyan alkalmazást készítünk, melynek segítségével választhatunk az összes szín közül, melyeket rögtön láthatunk is. A kiválasztott szín kódja rögtön a vágólapra kerül, így azt be is illeszthetjük a HTML oldalunk megfelelő helyére.

A megvalósításhoz feltöltünk egy ListBox-ot a lehetséges értékekkel. A megjelenítést mi magunk végezzük az OnDrawItem eseménynél, így nem csak a színek nevei és RGB értékei láthatóak, hanem rögtön maga az adott szín is megjelenik egy kis téglalapban.
Ehhez a művelethez a ListBox Style property-jét lbOwnerDrawFixed értékre választjuk.
Az OnDrawItem eseménykezelőben vizsgáljuk, hogy a State paraméterként milyen értéket kaptunk. Ebből megtudhatjuk, hogy az éppen kirajzolandó elem a ListBox-ban kiválasztott-e vagy sem, és ennek megfelelően választhatjuk meg a szükséges színeket.
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
  with ListBox1.Canvas do begin
    if odSelected in State then begin
       ...
    end;
Ezt követően kirajzoljuk a hátteret és ráírjuk az adott elem feliratát.
    Rectangle(Rect);
    TextOut(Rect.Left+30, Rect.Top, ListBox1.Items[Index]);
Végül már csak az adott színű téglalap kirajzolása marad. Ehhez át kell alakítanunk az adott elem szövegében lévő RGB színt TColor típussá.
    Brush.Color:=StrToInt('0x'+Reverse(ListBox1.Items.Values[ListBox1.Items.Names[Index]]));
    Rectangle(Rect.Left, Rect.Top, Rect.Left+25, Rect.Bottom);
  end;
end;
Ha a felhasználó kattint a ListBox-on, akkor a kiválasztott színt adjuk a Panel színének és rögtön vágólapra helyezzük a kiválasztott szín megnevezését, így az átvihető más alkalmazásba.
procedure TForm1.ListBox1Click(Sender: TObject);
begin
  Panel1.Caption:=ListBox1.Items.Values[ListBox1.Items.Names[ListBox1.ItemIndex]];
  Panel1.Color:=StrToInt('0x'+Reverse(Panel1.Caption));
  Clipboard.AsText:=ListBox1.Items.Names[ListBox1.ItemIndex];
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
1018DelphiVonalkód készítő komponens1. rész
1028DelphiVonalkód nyomtatása a QuickReport-al2. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 109. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |