Delphi - TColorBox komponens használata

forráskód letöltése
Az Additional palettán található egy TColorBox komponens, amely egy olyan speciális ComboBox, amelyben színeket választhatunk ki.
A kiválasztott színt a Selected property-ből olvashatjuk ki. A színek alapesetben a Delphi-ben definiált konstans nevekkel jelennek meg, de ezen változtathatunk. Az erre, és még egyéb más dologra vonatkozó beállítások a Style property-n keresztül adhatók meg. Ebben a következő tulajdonságokat adhatjuk meg:
  • cbStandardColors: a standard színek megjelenítése. Ezek az első 16 szín, a clRed-től a clBlack-ig.
  • cbExtendedColors: a kiterjesztett színek megjelenítése. Ez a következő 4 konstanst jelenti: clMoneyGreen, clSkyBlue, clCream, és clMedGray.
  • cbSystemColors: az egyes rendszer elemekhez rendelt szimbolikus szín konstansok is felkerülnek a listára. Ilyen például a clBtnFace, clWindow, stb.
  • cbIncludeNone: A NoneColorColor property-ben megadott szín is felkerül a listára clNone néven, de csak akkor, ha a cbSystemColors is be van állítva.
  • cbIncludeDefault: a DefaultColorColor property-ben megadott szín felkerül a listára clDefault névvel, ha a cbSystemColors is be van állítva.
  • cbCustomColor: a listában az első elem reprezentálja a tetszőlegesen beállítható színt, vagyis amikor a felhasználó ezt választja, akkor egy dialógus ablak jelenik meg, amelyben egy tetszőleges szín beállítható.
  • cbPrettyNames: a konstans nevek első két karaktere „cl” (pl. clRed). A cbPrettyNames beállítása után ez a két karakter nem fog látszani a listában, csak a szín tényleges neve.
Futási időben a Colors property-n keresztül kérdezhetjük le a megadott sorszámú színt.
  ListBox1.Color:=ColorBox1.Colors[ListBox1.ItemIndex];
A ColorNames property-ből a megadott sorszámú szín nevét olvashatjuk ki:
  ShowMessage(ColorBox1.ColorNames[ListBox1.ItemIndex]);