Vcl.ExtCtrls.TCustomColorBox.OnGetColors
Delphi
property OnGetColors: TGetColorsEvent read FOnGetColors write FOnGetColors;
C++
__property TGetColorsEvent OnGetColors = {read=FOnGetColors, write=FOnGetColors};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
event | public | Vcl.ExtCtrls.pas Vcl.ExtCtrls.hpp |
Vcl.ExtCtrls | TCustomColorBox |
説明
コントロールに、カスタマイズされた色のリストが設定された際に、発生します。
OnGetColors を利用すると、カスタマイズされた色のリストを、TCustomColorBox 色リストに配置することができます。
OnGetColors イベントは、Style に cbCustomColors プロパティが含まれている場合にのみ、呼び出されます。
- Sender は、TCustomColorBox のインスタンスです。
- Items は、TCustomColorBox に表示される色のリストを保有する TStrings です。
- Items.Strings には、カラー ボックスのための表示文字列のリストが保有されています。
- Items.Objects には、各表示名に該当する TColor 値のリストが、それぞれ TObject にキャストされて保有されています。
- メモ: このイベントが発生された際、Items には、Style プロパティで指定された色(cbStandard など)がすべて保有されています。色は、この Items リストを操作することで、TCustomColorBox に対して、追加、移動、削除することができます。
サンプル コード
より明確にするため、次のコード スニペットでは、3 つのカスタム色を、色のドロップダウン リストに追加しています。以下のシナリオについて考えてみましょう: アプリケーションには TColorBox があり、cbCustomColors は True に設定されています(Style プロパティ内で)。
このシナリオでは、次の OnGetColors イベント ハンドラを実装することができます。
Delphi:
procedure TForm1.ColorBox1GetColors(Sender: TCustomColorBox; Items: TStrings);
begin
Items.AddObject('Custom Black', TObject(clBlack));
Items.AddObject('Custom White', TObject(clWhite));
Items.AddObject('Custom Red', TObject(clRed));
end;
C++Builder:
void __fastcall TForm1::ColorBox1GetColors(TCustomColorBox *Sender, TStrings *Items)
{
Items->Clear();
Items->AddObject("Custom Black", (TObject*) (clBlack));
Items->AddObject("Custom White", (TObject*) (clWhite));
Items->AddObject("Custom Red", (TObject*) (clRed));
}