mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-30 13:09:28 +02:00
added TColorListBox from Diogo Piçarra
git-svn-id: trunk@10255 -
This commit is contained in:
parent
d047ad08ec
commit
6c2178c4d6
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -1703,6 +1703,7 @@ images/components/tcolorbutton.xpm -text svneol=native#image/x-xpixmap
|
|||||||
images/components/tcolorcombobox.xpm svneol=native#text/plain
|
images/components/tcolorcombobox.xpm svneol=native#text/plain
|
||||||
images/components/tcolordialog.ico -text svneol=unset#image/x-icon
|
images/components/tcolordialog.ico -text svneol=unset#image/x-icon
|
||||||
images/components/tcolordialog.xpm -text svneol=native#image/x-xpixmap
|
images/components/tcolordialog.xpm -text svneol=native#image/x-xpixmap
|
||||||
|
images/components/tcolorlistbox.xpm -text svneol=native#image/x-xpixmap
|
||||||
images/components/tcombobox.ico -text svneol=unset#image/x-icon
|
images/components/tcombobox.ico -text svneol=unset#image/x-icon
|
||||||
images/components/tcombobox.xpm -text svneol=native#image/x-xpixmap
|
images/components/tcombobox.xpm -text svneol=native#image/x-xpixmap
|
||||||
images/components/tcomboedit.xpm -text svneol=native#image/x-xpixmap
|
images/components/tcomboedit.xpm -text svneol=native#image/x-xpixmap
|
||||||
|
@ -21,6 +21,7 @@ Curtis White
|
|||||||
Darek Mazur
|
Darek Mazur
|
||||||
Darius Blaszijk
|
Darius Blaszijk
|
||||||
Dean Zobec
|
Dean Zobec
|
||||||
|
Diogo Piçarra
|
||||||
Ere Maijala
|
Ere Maijala
|
||||||
Eric Chapman
|
Eric Chapman
|
||||||
Erivelton Silva
|
Erivelton Silva
|
||||||
|
@ -6971,9 +6971,9 @@
|
|||||||
<!-- property Visibility: public -->
|
<!-- property Visibility: public -->
|
||||||
<element name="TControl.Align">
|
<element name="TControl.Align">
|
||||||
<short>Used to align the control in one of four directions.</short>
|
<short>Used to align the control in one of four directions.</short>
|
||||||
<descr></descr>
|
<descr/>
|
||||||
<seealso></seealso>
|
<seealso/>
|
||||||
<errors></errors>
|
<errors/>
|
||||||
</element>
|
</element>
|
||||||
<!-- property Visibility: public -->
|
<!-- property Visibility: public -->
|
||||||
<element name="TControl.Anchors">
|
<element name="TControl.Anchors">
|
||||||
|
@ -1464,7 +1464,13 @@ The MessageDlgPos function does not enable you to choose the caption of the dial
|
|||||||
<!-- function Visibility: default -->
|
<!-- function Visibility: default -->
|
||||||
<element name="QuestionDlg">
|
<element name="QuestionDlg">
|
||||||
<short>Show a question to the user and get a response</short>
|
<short>Show a question to the user and get a response</short>
|
||||||
<descr>QuestionDlg has the same functionality as MessageDlg except for the parameter Buttons which is of a different type. You can define your own captions and return values of this function.</descr>
|
<descr>QuestionDlg has the same functionality as MessageDlg except for the parameter Buttons which is of a different type. You can define your own captions and return values of this function.<br/>
|
||||||
|
Buttons is a list of TModalResult and strings. For each TModalResult a button is
|
||||||
|
created. To set a custom caption, add a string after a button.
|
||||||
|
|
||||||
|
The default TModalResults defined in controls.pp (mrNone..mrLast) don't need
|
||||||
|
|
||||||
|
caption. The default captions will be used. </descr>
|
||||||
</element>
|
</element>
|
||||||
<!-- function result Visibility: default -->
|
<!-- function result Visibility: default -->
|
||||||
<element name="QuestionDlg.Result">
|
<element name="QuestionDlg.Result">
|
||||||
|
197
images/components/tcolorlistbox.xpm
Normal file
197
images/components/tcolorlistbox.xpm
Normal file
@ -0,0 +1,197 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char *tlistbox[]={
|
||||||
|
"20 19 175 2",
|
||||||
|
".H c #000000",
|
||||||
|
".p c #000002",
|
||||||
|
"#Q c #000004",
|
||||||
|
".q c #000005",
|
||||||
|
"aI c #000007",
|
||||||
|
"aR c #000009",
|
||||||
|
"#j c #00000b",
|
||||||
|
"aM c #00000c",
|
||||||
|
"aS c #00000e",
|
||||||
|
"aK c #00000f",
|
||||||
|
"aO c #000014",
|
||||||
|
"#w c #000019",
|
||||||
|
"#M c #00001e",
|
||||||
|
"#E c #000023",
|
||||||
|
"#L c #000080",
|
||||||
|
".Z c #0000ff",
|
||||||
|
".n c #000100",
|
||||||
|
"a. c #000200",
|
||||||
|
".5 c #000207",
|
||||||
|
"aL c #00020f",
|
||||||
|
"ap c #000300",
|
||||||
|
".z c #00ff00",
|
||||||
|
".2 c #010000",
|
||||||
|
".L c #010002",
|
||||||
|
".1 c #010100",
|
||||||
|
"#u c #010101",
|
||||||
|
"ad c #01010b",
|
||||||
|
".F c #020005",
|
||||||
|
".R c #020202",
|
||||||
|
"#T c #02020c",
|
||||||
|
"#J c #030207",
|
||||||
|
"#q c #030416",
|
||||||
|
"#9 c #030500",
|
||||||
|
".m c #040500",
|
||||||
|
"aN c #040519",
|
||||||
|
".I c #050400",
|
||||||
|
"aG c #05040c",
|
||||||
|
".A c #050503",
|
||||||
|
".W c #060405",
|
||||||
|
".J c #060503",
|
||||||
|
"aP c #060513",
|
||||||
|
"a# c #060702",
|
||||||
|
"aJ c #070614",
|
||||||
|
"aj c #070705",
|
||||||
|
"#Y c #070709",
|
||||||
|
"aQ c #070904",
|
||||||
|
"aB c #080c00",
|
||||||
|
".o c #090907",
|
||||||
|
".r c #0a0911",
|
||||||
|
"#K c #6d6b92",
|
||||||
|
"#n c #777992",
|
||||||
|
"Qt c #79797b",
|
||||||
|
"al c #797a7c",
|
||||||
|
".a c #7a797f",
|
||||||
|
".y c #7a7981",
|
||||||
|
".h c #7a7987",
|
||||||
|
"#B c #7a79a1",
|
||||||
|
".i c #7a7a86",
|
||||||
|
".C c #7c7b77",
|
||||||
|
".e c #7c7c84",
|
||||||
|
"ah c #7c7d7f",
|
||||||
|
"aH c #7d7c82",
|
||||||
|
".f c #7d7d89",
|
||||||
|
"#v c #7d7da1",
|
||||||
|
"aq c #7e7d83",
|
||||||
|
"aa c #7e7f84",
|
||||||
|
".3 c #7e8387",
|
||||||
|
".d c #808183",
|
||||||
|
".G c #817f8a",
|
||||||
|
".# c #818085",
|
||||||
|
"#Z c #818090",
|
||||||
|
".k c #828284",
|
||||||
|
".j c #82828a",
|
||||||
|
".X c #82828c",
|
||||||
|
".M c #83818e",
|
||||||
|
".b c #848388",
|
||||||
|
".c c #848587",
|
||||||
|
".l c #858583",
|
||||||
|
"#. c #858994",
|
||||||
|
"as c #86858a",
|
||||||
|
".D c #878586",
|
||||||
|
".g c #898795",
|
||||||
|
"#R c #8a8aa4",
|
||||||
|
".s c #908f94",
|
||||||
|
"#p c #ab172f",
|
||||||
|
".U c #b7b6b2",
|
||||||
|
"#r c #b7b8bd",
|
||||||
|
"#k c #b9bcc5",
|
||||||
|
"#l c #babcb7",
|
||||||
|
"#N c #babcc9",
|
||||||
|
".K c #bbb9bc",
|
||||||
|
"aE c #bbb9c6",
|
||||||
|
"#X c #bbbbb9",
|
||||||
|
"ag c #bbbcb7",
|
||||||
|
"aC c #bbbeb5",
|
||||||
|
".9 c #bdbeb8",
|
||||||
|
".E c #bebcc1",
|
||||||
|
".7 c #bec0bb",
|
||||||
|
"ac c #c0c000",
|
||||||
|
"#t c #c0c0c0",
|
||||||
|
"#O c #c0c1c6",
|
||||||
|
"aF c #c1bfca",
|
||||||
|
".S c #c1c2bc",
|
||||||
|
".V c #c2c0c1",
|
||||||
|
"#G c #c2c1d1",
|
||||||
|
"#V c #c2c3bb",
|
||||||
|
".x c #c3c2c8",
|
||||||
|
"ar c #c4c3c9",
|
||||||
|
"#I c #c5c4cc",
|
||||||
|
"ak c #c5c5c3",
|
||||||
|
"aD c #c7c6cc",
|
||||||
|
"#z c #c8c8d0",
|
||||||
|
".T c #c9c8c3",
|
||||||
|
"#x c #c9ccd5",
|
||||||
|
"ay c #f0efff",
|
||||||
|
"#h c #f1f3ff",
|
||||||
|
"au c #f2ecff",
|
||||||
|
"#5 c #f2f1ff",
|
||||||
|
"#d c #f2f4ff",
|
||||||
|
"#0 c #f3f3ff",
|
||||||
|
"#c c #f3f5ff",
|
||||||
|
"#a c #f3f6ff",
|
||||||
|
"ai c #f3f8f4",
|
||||||
|
"ax c #f4f2ff",
|
||||||
|
"#y c #f4f4fe",
|
||||||
|
"#e c #f4f6ff",
|
||||||
|
"#o c #f6f8ff",
|
||||||
|
"aA c #f6fbe5",
|
||||||
|
"#C c #f7f4ff",
|
||||||
|
"#1 c #f7f6ff",
|
||||||
|
"#f c #f7f7ff",
|
||||||
|
"#b c #f7f9ff",
|
||||||
|
"#D c #f8f1ff",
|
||||||
|
"#g c #f8f5ff",
|
||||||
|
"#4 c #f8f7ff",
|
||||||
|
"#3 c #f8f8ff",
|
||||||
|
"## c #f8fcff",
|
||||||
|
"#6 c #f9f7ff",
|
||||||
|
".Y c #f9f8ff",
|
||||||
|
".P c #f9f9ff",
|
||||||
|
"#W c #f9faf2",
|
||||||
|
"an c #f9fcf5",
|
||||||
|
".Q c #fafaff",
|
||||||
|
"#U c #fafcf9",
|
||||||
|
"#8 c #fafdff",
|
||||||
|
"av c #fbf5ff",
|
||||||
|
"aw c #fbf9ff",
|
||||||
|
"#2 c #fbfaff",
|
||||||
|
"#H c #fbfbff",
|
||||||
|
"#F c #fbfcff",
|
||||||
|
".4 c #fbfeff",
|
||||||
|
"#i c #fbffff",
|
||||||
|
".O c #fcf9ff",
|
||||||
|
"#P c #fcfbff",
|
||||||
|
"#S c #fcfcff",
|
||||||
|
"af c #fcfdf5",
|
||||||
|
"#7 c #fcfdff",
|
||||||
|
"ab c #fcfeff",
|
||||||
|
".0 c #fcffff",
|
||||||
|
"am c #fdfdff",
|
||||||
|
".u c #fdfef8",
|
||||||
|
"#s c #fdfeff",
|
||||||
|
"at c #fefbff",
|
||||||
|
".w c #fefeff",
|
||||||
|
"ao c #feffef",
|
||||||
|
"az c #fefff6",
|
||||||
|
"ae c #fefffa",
|
||||||
|
".6 c #feffff",
|
||||||
|
".N c #fffdff",
|
||||||
|
"#A c #fffeff",
|
||||||
|
".8 c #fffff8",
|
||||||
|
".B c #fffffa",
|
||||||
|
"#m c #fffffb",
|
||||||
|
".v c #fffffd",
|
||||||
|
".t c #ffffff",
|
||||||
|
"Qt.#.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r",
|
||||||
|
".s.t.t.t.t.t.t.t.t.t.t.t.t.t.n.u.v.w.x.q",
|
||||||
|
".y.t.z.z.z.z.z.z.z.z.z.z.z.t.A.B.C.D.E.F",
|
||||||
|
".G.t.z.z.z.z.z.z.z.z.z.z.z.t.H.u.I.J.K.L",
|
||||||
|
".M.N.O.t.t.t.t.t.t.t.t.t.P.Q.R.S.T.U.V.W",
|
||||||
|
".X.Y.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.0.p.1.n.I.2.H",
|
||||||
|
".3.4.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.0.5.6.7.8.9.H",
|
||||||
|
"#.###a#b#c#d#e#e#d#f#g#f#h#i#j#k.6#l#m.A",
|
||||||
|
"#n#o#p#p#p#p#p#p#p#p#p#p#p.t#q.0#r#s#t#u",
|
||||||
|
"#v.t#p#p#p#p#p#p#p#p#p#p#p.t#w#x#y#z#A.p",
|
||||||
|
"#B.t.t.t.t.t.t#C#D.t.t.t.t.t#E#F#G#H#I#J",
|
||||||
|
"#K.t#L#L#L#L#L#L#L#L#L#L#L.t#M#N.w#O#P#Q",
|
||||||
|
"#R#H#L#L#L#L#L#L#L#L#L#L#L#S#T#U#V#W#X#Y",
|
||||||
|
"#Z#0#1#2#c#3#4#5.Y#f#6#H#7#8.p.n#9a.a#.H",
|
||||||
|
"aaabacacacacacacacacacacac.0ad.6aeafag.A",
|
||||||
|
"ah.wacacacacacacacacacacacai.q.6.Hajak.H",
|
||||||
|
"alam.t.t.t.t.t.t.t.t.t#Sanaoapan.kaqar#Q",
|
||||||
|
"as.w.watauav#gawaxay#P#eazaAaBaCaDaEaFaG",
|
||||||
|
"aHaI#jaJaKaL#jaMaNaOaPaI.naQ.najaRaSaSaR"};
|
248
lcl/colorbox.pas
248
lcl/colorbox.pas
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
TColorBox is component that displays colors in a combobox
|
TColorBox is component that displays colors in a combobox
|
||||||
|
TColorListBox is component that displays colors in a listbox
|
||||||
|
|
||||||
Copyright (C) 2005 Darius Blaszijk
|
Copyright (C) 2005 Darius Blaszijk
|
||||||
|
|
||||||
@ -47,6 +48,10 @@ type
|
|||||||
published
|
published
|
||||||
property Align;
|
property Align;
|
||||||
property Anchors;
|
property Anchors;
|
||||||
|
property ArrowKeysTraverseList;
|
||||||
|
property AutoComplete;
|
||||||
|
property AutoCompleteText;
|
||||||
|
property AutoDropDown;
|
||||||
property BorderSpacing;
|
property BorderSpacing;
|
||||||
property Color;
|
property Color;
|
||||||
property Ctl3D;
|
property Ctl3D;
|
||||||
@ -56,7 +61,9 @@ type
|
|||||||
property Enabled;
|
property Enabled;
|
||||||
property Font;
|
property Font;
|
||||||
property ItemHeight;
|
property ItemHeight;
|
||||||
|
property ItemIndex;
|
||||||
property Items;
|
property Items;
|
||||||
|
property ItemWidth;
|
||||||
property MaxLength;
|
property MaxLength;
|
||||||
property Palette: TColorPalette read FPalette write SetPalette;
|
property Palette: TColorPalette read FPalette write SetPalette;
|
||||||
property ParentColor;
|
property ParentColor;
|
||||||
@ -64,6 +71,7 @@ type
|
|||||||
property ParentFont;
|
property ParentFont;
|
||||||
property ParentShowHint;
|
property ParentShowHint;
|
||||||
property PopupMenu;
|
property PopupMenu;
|
||||||
|
property ReadOnly;
|
||||||
property ShowHint;
|
property ShowHint;
|
||||||
property Sorted;
|
property Sorted;
|
||||||
property TabOrder;
|
property TabOrder;
|
||||||
@ -71,12 +79,15 @@ type
|
|||||||
property Text;
|
property Text;
|
||||||
property Visible;
|
property Visible;
|
||||||
property OnChange;
|
property OnChange;
|
||||||
|
property OnChangeBounds;
|
||||||
property OnClick;
|
property OnClick;
|
||||||
|
property OnCloseUp;
|
||||||
property OnDblClick;
|
property OnDblClick;
|
||||||
property OnDragDrop;
|
property OnDragDrop;
|
||||||
property OnDragOver;
|
property OnDragOver;
|
||||||
property OnDrawItem;
|
property OnDrawItem;
|
||||||
property OnDropDown;
|
property OnDropDown;
|
||||||
|
property OnEditingDone;
|
||||||
property OnEndDrag;
|
property OnEndDrag;
|
||||||
property OnEnter;
|
property OnEnter;
|
||||||
property OnExit;
|
property OnExit;
|
||||||
@ -84,7 +95,72 @@ type
|
|||||||
property OnKeyPress;
|
property OnKeyPress;
|
||||||
property OnKeyUp;
|
property OnKeyUp;
|
||||||
property OnMeasureItem;
|
property OnMeasureItem;
|
||||||
|
property OnMouseDown;
|
||||||
|
property OnMouseMove;
|
||||||
|
property OnMouseUp;
|
||||||
property OnStartDrag;
|
property OnStartDrag;
|
||||||
|
property OnSelect;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TColorListBox = class(TCustomListBox)
|
||||||
|
private
|
||||||
|
FPalette: TColorPalette;
|
||||||
|
function GetSelection: TColor;
|
||||||
|
procedure SetSelection(Value: TColor);
|
||||||
|
procedure SetPalette(Value: TColorPalette);
|
||||||
|
protected
|
||||||
|
procedure SetStyle(Value: TListBoxStyle); override;
|
||||||
|
procedure DrawItem(Index: Integer; Rect: TRect; State: TOwnerDrawState); override;
|
||||||
|
public
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
procedure SetColorList;
|
||||||
|
property Selection: TColor read GetSelection write SetSelection;
|
||||||
|
published
|
||||||
|
property Align;
|
||||||
|
property Anchors;
|
||||||
|
property BorderSpacing;
|
||||||
|
property BorderStyle;
|
||||||
|
property ClickOnSelChange;
|
||||||
|
property Color;
|
||||||
|
property Constraints;
|
||||||
|
property Enabled;
|
||||||
|
property ExtendedSelect;
|
||||||
|
property Font;
|
||||||
|
property IntegralHeight;
|
||||||
|
property ItemHeight;
|
||||||
|
property Items;
|
||||||
|
property MultiSelect;
|
||||||
|
property Palette: TColorPalette read FPalette write SetPalette;
|
||||||
|
property ParentColor;
|
||||||
|
property ParentFont;
|
||||||
|
property ParentShowHint;
|
||||||
|
property PopupMenu;
|
||||||
|
property ShowHint;
|
||||||
|
property Sorted;
|
||||||
|
property TabOrder;
|
||||||
|
property TabStop;
|
||||||
|
property TopIndex;
|
||||||
|
property Visible;
|
||||||
|
property OnChangeBounds;
|
||||||
|
property OnClick;
|
||||||
|
property OnDblClick;
|
||||||
|
property OnDrawItem;
|
||||||
|
property OnEnter;
|
||||||
|
property OnExit;
|
||||||
|
property OnKeyDown;
|
||||||
|
property OnKeyPress;
|
||||||
|
property OnKeyUp;
|
||||||
|
property OnMouseDown;
|
||||||
|
property OnMouseEnter;
|
||||||
|
property OnMouseLeave;
|
||||||
|
property OnMouseMove;
|
||||||
|
property OnMouseUp;
|
||||||
|
property OnMouseWheel;
|
||||||
|
property OnMouseWheelDown;
|
||||||
|
property OnMouseWheelUp;
|
||||||
|
property OnResize;
|
||||||
|
property OnSelectionChange;
|
||||||
|
property OnShowHint;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure Register;
|
procedure Register;
|
||||||
@ -102,7 +178,7 @@ const
|
|||||||
{------------------------------------------------------------------------------}
|
{------------------------------------------------------------------------------}
|
||||||
procedure Register;
|
procedure Register;
|
||||||
begin
|
begin
|
||||||
RegisterComponents('Additional', [TColorBox]);
|
RegisterComponents('Additional', [TColorBox, TColorListBox]);
|
||||||
end;
|
end;
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
Method: TColorBox.Create
|
Method: TColorBox.Create
|
||||||
@ -274,4 +350,174 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{------------------------------------------------------------------------------}
|
{------------------------------------------------------------------------------}
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Method: TColorListBox.Create
|
||||||
|
Params: AOwner
|
||||||
|
Returns: Nothing
|
||||||
|
|
||||||
|
Use Create to create an instance of TColorListBox and initialize all properties
|
||||||
|
and variables.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
constructor TColorListBox.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited Create(AOwner);
|
||||||
|
|
||||||
|
FPalette := cpDefault;
|
||||||
|
|
||||||
|
SetColorList;
|
||||||
|
|
||||||
|
Style := lbOwnerDrawFixed;
|
||||||
|
end;
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Method: TColorListBox.GetSelection
|
||||||
|
Params: None
|
||||||
|
Returns: TColor
|
||||||
|
|
||||||
|
Use GetSelection to convert the item selected into a system color.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
function TColorListBox.GetSelection: TColor;
|
||||||
|
begin
|
||||||
|
Result := 0;
|
||||||
|
if ItemIndex >= 0 then
|
||||||
|
if not IdentToColor(Items[ItemIndex], LongInt(Result)) then
|
||||||
|
Result := 0;
|
||||||
|
end;
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Method: TColorListBox.SetSelection
|
||||||
|
Params: Value
|
||||||
|
Returns: Nothing
|
||||||
|
|
||||||
|
Use SetSelection to set the item in the ColorListBox when appointed a color
|
||||||
|
from code.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TColorListBox.SetSelection(Value: TColor);
|
||||||
|
var
|
||||||
|
c: integer;
|
||||||
|
i: Longint;
|
||||||
|
begin
|
||||||
|
ItemIndex := -1;
|
||||||
|
|
||||||
|
for c := 0 to Pred(Items.Count) do
|
||||||
|
if IdentToColor(Items[c], i) then
|
||||||
|
if i = Value then
|
||||||
|
ItemIndex := c;
|
||||||
|
end;
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Method: TColorListBox.SetPalette
|
||||||
|
Params: Value
|
||||||
|
Returns: Nothing
|
||||||
|
|
||||||
|
Use SetPalette to determine wether to reset the colorlist in the ColorListBox
|
||||||
|
based on the type of palette.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TColorListBox.SetPalette(Value: TColorPalette);
|
||||||
|
begin
|
||||||
|
if Value <> FPalette then
|
||||||
|
begin
|
||||||
|
FPalette := Value;
|
||||||
|
SetColorList;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Method: TColorListBox.SetStyle
|
||||||
|
Params: Value
|
||||||
|
Returns: Nothing
|
||||||
|
|
||||||
|
Use SetStyle to prevent the style to be changed to anything else than
|
||||||
|
lbOwnerDrawFixed.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TColorListBox.SetStyle(Value: TListBoxStyle);
|
||||||
|
begin
|
||||||
|
inherited SetStyle(lbOwnerDrawFixed);
|
||||||
|
end;
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Method: TColorListBox.DrawItem
|
||||||
|
Params: Index, Rect, State
|
||||||
|
Returns: Nothing
|
||||||
|
|
||||||
|
Use DrawItem to customdraw an item in the ColorListBox. A color preview is drawn
|
||||||
|
and the item rectangle is made smaller and given to the inherited method to
|
||||||
|
draw the corresponding text. The Brush color and Pen color where changed and
|
||||||
|
reset to their original values.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TColorListBox.DrawItem(Index: Integer; Rect: TRect; State: TOwnerDrawState);
|
||||||
|
var
|
||||||
|
r: TRect;
|
||||||
|
ItemColor: TColor;
|
||||||
|
BrushColor: TColor;
|
||||||
|
PenColor: TColor;
|
||||||
|
begin
|
||||||
|
if Index<0 then
|
||||||
|
exit;
|
||||||
|
r.top := Rect.top + 3;
|
||||||
|
r.bottom := Rect.bottom - 3;
|
||||||
|
r.left := Rect.left + 3;
|
||||||
|
r.right := r.left + 14;
|
||||||
|
Exclude(State,odPainted);
|
||||||
|
with Canvas do begin
|
||||||
|
FillRect(Rect);
|
||||||
|
|
||||||
|
BrushColor := Brush.Color;
|
||||||
|
PenColor := Pen.Color;
|
||||||
|
|
||||||
|
if IdentToColor(Items[Index], LongInt(ItemColor)) then
|
||||||
|
Brush.Color := ItemColor;
|
||||||
|
|
||||||
|
Pen.Color := clBlack;
|
||||||
|
|
||||||
|
Rectangle(r);
|
||||||
|
|
||||||
|
Brush.Color := BrushColor;
|
||||||
|
Pen.Color := PenColor;
|
||||||
|
end;
|
||||||
|
r := Rect;
|
||||||
|
r.left := r.left + 20;
|
||||||
|
|
||||||
|
//DebugLn('TColorListBox.DrawItem ',dbgs(Index),' ',dbgs(r),' ',dbgs(odPainted in State),' ',dbgs(Assigned(OndrawItem)));
|
||||||
|
inherited DrawItem(Index, r, State);
|
||||||
|
end;
|
||||||
|
{------------------------------------------------------------------------------
|
||||||
|
Method: TColorListBox.SetColorList
|
||||||
|
Params: None
|
||||||
|
Returns: Nothing
|
||||||
|
|
||||||
|
Use SetColorList to fill the itemlist in the ColorListBox with the right color
|
||||||
|
entries. Based on the value of the Palette property.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------}
|
||||||
|
procedure TColorListBox.SetColorList;
|
||||||
|
var
|
||||||
|
c: Longint;
|
||||||
|
s: ANSIString;
|
||||||
|
m: TIdentMapEntry;
|
||||||
|
begin
|
||||||
|
with Items do
|
||||||
|
begin
|
||||||
|
Clear;
|
||||||
|
|
||||||
|
//add palettes as desired
|
||||||
|
case Palette of
|
||||||
|
cpFull : begin
|
||||||
|
c := 0;
|
||||||
|
while IdentEntry(c, m) do
|
||||||
|
begin
|
||||||
|
Add(m.Name);
|
||||||
|
Inc(c);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
for c := 0 to High(ColorDefault) do
|
||||||
|
if ColorToIdent(ColorDefault[c], s) then Add(s);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
{------------------------------------------------------------------------------}
|
||||||
end.
|
end.
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
edirbtn.pas
|
editbtn.pas
|
||||||
-----------
|
-----------
|
||||||
Component Library Extended dialogs Controls
|
Component Library Extended dialogs Controls
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user