Class TDFSColorButton (unit DFSClrBn)

Inherits from

TButton

Constructors


constructor Create(AOwner: TComponent);



Functions

procedure Click;


destructor Destroy;


procedure DoColorChange;

while

procedure CreateParams(var Params: TCreateParams);


procedure CreateWnd;


function GetSectionName: string;

Lots 'o colors, pick the ones we want.

function GetVersion: TDFSVersion;


procedure LoadCustomColors;

strip last comma

procedure Loaded;


procedure SaveCustomColors;


procedure SetButtonStyle(ADefault: Boolean);


procedure SetDefaultColors;


procedure SetVersion(const Val: TDFSVersion);


procedure CMEnabledChanged(var Message: TMessage);


procedure CMFontChanged(var Message: TMessage);

Draw the arrow

procedure CNDrawItem(var Msg: TWMDrawItem);


procedure CNMeasureItem(var Msg: TWMMeasureItem);


procedure DrawItem(const DrawItemStruct: TDrawItemStruct);

There's a bug in the Delphi 2.

procedure PaletteClosed(Sender: TObject);


procedure PaletteSetColor(Sender: TObject; AColor: TColor);

No room to display horizontally, shift left

procedure SetArrowBmp(Value: TBitmap);


procedure SetColor(Value: TColor);


procedure SetCustomColors(Value: TCustomColors);


procedure SetDisabledArrowBmp(Value: TBitmap);


procedure SetPaletteColors(Value: TPaletteColors);


procedure SetStyle(Value: TButtonStyle);


procedure WMLButtonDblClk(var Message: TWMLButtonDblClk);


Properties

property Color : TColor


property CustomColors : TCustomColors


property CustomColorsINI : string


property OtherBtnCaption : string


property OtherColor : TColor


property PaletteColors : TPaletteColors


property Style : TButtonStyle


property Version : TDFSVersion


property ArrowBmp : TBitmap


property DisabledArrowBmp : TBitmap


Events

event OnColorChange : TNotifyEvent


Variables

FArrowBmp : TBitmap;


FCanvas : TCanvas;


FColor : TColor;


FColorsLoaded : boolean;


FCustomColors : TCustomColors;


FCustomColorsINI : string;


FDisabledArrowBmp : TBitmap;


FIsMouseOver : boolean;


FOnColorChange : TNotifyEvent;


FOtherBtnCaption : string;


FOtherColor : TColor;


FPaletteColors : TPaletteColors;


FPaletteDisplayed : boolean;


FPaletteForm : TDFSColorButtonPalette;


FSectionName : string;


FStyle : TButtonStyle;


IsFocused : boolean;



Constructors


constructor Create(AOwner: TComponent);


Functions


procedure Click;


destructor Destroy;


procedure DoColorChange;

while


procedure CreateParams(var Params: TCreateParams);


procedure CreateWnd;


function GetSectionName: string;

Lots 'o colors, pick the ones we want.


function GetVersion: TDFSVersion;


procedure LoadCustomColors;

strip last comma


procedure Loaded;


procedure SaveCustomColors;


procedure SetButtonStyle(ADefault: Boolean);


procedure SetDefaultColors;


procedure SetVersion(const Val: TDFSVersion);


procedure CMEnabledChanged(var Message: TMessage);


procedure CMFontChanged(var Message: TMessage);

Draw the arrow


procedure CNDrawItem(var Msg: TWMDrawItem);


procedure CNMeasureItem(var Msg: TWMMeasureItem);


procedure DrawItem(const DrawItemStruct: TDrawItemStruct);

There's a bug in the Delphi 2.0x optimization compiler. If you don't turn off optimization under Delphi 2.0x, you will get an internal error C1217. This bug is not present in Delphi 1 or 3. There appears to be a similar bug in C++Builder 1. I get an internal error C1310. Same fix for it as for Delphi. Doesn't appear in C++Builder 3.


procedure PaletteClosed(Sender: TObject);


procedure PaletteSetColor(Sender: TObject; AColor: TColor);

No room to display horizontally, shift left


procedure SetArrowBmp(Value: TBitmap);


procedure SetColor(Value: TColor);


procedure SetCustomColors(Value: TCustomColors);


procedure SetDisabledArrowBmp(Value: TBitmap);


procedure SetPaletteColors(Value: TPaletteColors);


procedure SetStyle(Value: TButtonStyle);


procedure WMLButtonDblClk(var Message: TWMLButtonDblClk);


Properties


property Color : TColor


property CustomColors : TCustomColors


property CustomColorsINI : string


property OtherBtnCaption : string


property OtherColor : TColor


property PaletteColors : TPaletteColors


property Style : TButtonStyle


property Version : TDFSVersion


property ArrowBmp : TBitmap


property DisabledArrowBmp : TBitmap


Events


event OnColorChange : TNotifyEvent


Variables


FArrowBmp : TBitmap;


FCanvas : TCanvas;


FColor : TColor;


FColorsLoaded : boolean;


FCustomColors : TCustomColors;


FCustomColorsINI : string;


FDisabledArrowBmp : TBitmap;


FIsMouseOver : boolean;


FOnColorChange : TNotifyEvent;


FOtherBtnCaption : string;


FOtherColor : TColor;


FPaletteColors : TPaletteColors;


FPaletteDisplayed : boolean;


FPaletteForm : TDFSColorButtonPalette;


FSectionName : string;


FStyle : TButtonStyle;


IsFocused : boolean;