Class TCustomComboEdit (unit ToolEdit)

Inherits from

TCustomMaskEdit

Constructors


constructor Create(AOwner: TComponent);

TCustomComboEdit


Functions

destructor Destroy;


procedure DoClick;


procedure SelectAll;


function AcceptPopup(var Value: Variant): Boolean;


procedure AcceptValue(const Value: Variant);


procedure ButtonClick;


procedure Change;


procedure CreateParams(var Params: TCreateParams);


procedure CreateWnd;


function EditCanModify: Boolean;


function GetDefaultBitmap(var DestroyNeeded: Boolean): TBitmap;


function GetReadOnly: Boolean;


procedure KeyDown(var Key: Word; Shift: TShiftState);


procedure KeyPress(var Key: Char);


procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

must catch and remove this, since is actually multi-line

procedure PopupCloseUp(Sender: TObject; Accept: Boolean);


procedure SetPopupValue(const Value: Variant);

ignore exceptions

function BtnWidthStored: Boolean;


procedure CMCancelMode(var Message: TCMCancelMode);


procedure CMCtl3DChanged(var Message: TMessage);


procedure CMEnabledChanged(var Message: TMessage);


procedure CMEnter(var Message: TMessage);


procedure CMFontChanged(var Message: TMessage);


procedure CNCtlColor(var Message: TMessage);


procedure EditButtonClick(Sender: TObject);


function GetButtonHint: string;

if (GlyphKind = gkDefault) and (Glyph <> nil) then FButton.

function GetButtonWidth: Integer;

else if (not ReadOnly or AlwaysEnable) and (not DirectInput) then PopupDropDown;

function GetDirectInput: Boolean;


function GetGlyph: TBitmap;


function GetMinHeight: Integer;


function GetNumGlyphs: TNumGlyphs;


function GetPopupVisible: Boolean;


function GetTextHeight: Integer;

text edit bug: if size to less than MinHeight, then edit ctrl does not display the text

function IsCustomGlyph: Boolean;


procedure PopupDropDown;


procedure RecreateGlyph;


procedure SetAlignment(Value: TAlignment);


procedure SetButtonHint(const Value: string);


procedure SetButtonWidth(Value: Integer);


procedure SetDirectInput(Value: Boolean);


procedure SetEditRect;


procedure SetGlyph(Value: TBitmap);


procedure SetGlyphKind(Value: TGlyphKind);


procedure SetNumGlyphs(Value: TNumGlyphs);


procedure SetReadOnly(Value: Boolean);


procedure SetShowCaret;


procedure UpdateBtnBounds;


procedure WMCut(var Message: TWMCut);


procedure WMKillFocus(var Message: TWMKillFocus);


procedure WMPaste(var Message: TWMPaste);


procedure WMSetFocus(var Message: TMessage);


procedure WMSize(var Message: TWMSize);


Properties

property Alignment : TAlignment


property AlwaysEnable : Boolean


property Button : TEditButton


property ButtonHint : string


property ButtonWidth : Integer


property ClickKey : TShortCut


property DirectInput : Boolean


property Glyph : TBitmap


property GlyphKind : TGlyphKind


property NumGlyphs : TNumGlyphs


property PopupAlign : TPopupAlign


property PopupVisible : Boolean


property ReadOnly : Boolean


Events

event OnButtonClick : TNotifyEvent


Variables

FDefNumGlyphs : TNumGlyphs;


FPopup : TPopupWindow;


FAlignment : TAlignment;


FAlwaysEnable : Boolean;


FBtnControl : TWinControl;


FButton : TEditButton;


FClickKey : TShortCut;


FDirectInput : Boolean;


FFocused : Boolean;


FGlyphKind : TGlyphKind;


FOnButtonClick : TNotifyEvent;


FPopupAlign : TPopupAlign;


FPopupVisible : Boolean;


FReadOnly : Boolean;



Constructors


constructor Create(AOwner: TComponent);

TCustomComboEdit


Functions


destructor Destroy;


procedure DoClick;


procedure SelectAll;


function AcceptPopup(var Value: Variant): Boolean;


procedure AcceptValue(const Value: Variant);


procedure ButtonClick;


procedure Change;


procedure CreateParams(var Params: TCreateParams);


procedure CreateWnd;


function EditCanModify: Boolean;


function GetDefaultBitmap(var DestroyNeeded: Boolean): TBitmap;


function GetReadOnly: Boolean;


procedure KeyDown(var Key: Word; Shift: TShiftState);


procedure KeyPress(var Key: Char);


procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

must catch and remove this, since is actually multi-line


procedure PopupCloseUp(Sender: TObject; Accept: Boolean);


procedure SetPopupValue(const Value: Variant);

ignore exceptions


function BtnWidthStored: Boolean;


procedure CMCancelMode(var Message: TCMCancelMode);


procedure CMCtl3DChanged(var Message: TMessage);


procedure CMEnabledChanged(var Message: TMessage);


procedure CMEnter(var Message: TMessage);


procedure CMFontChanged(var Message: TMessage);


procedure CNCtlColor(var Message: TMessage);


procedure EditButtonClick(Sender: TObject);


function GetButtonHint: string;

if (GlyphKind = gkDefault) and (Glyph <> nil) then FButton.Width := Max((Glyph.Width) div FButton.NumGlyphs + 4, Value) else


function GetButtonWidth: Integer;

else if (not ReadOnly or AlwaysEnable) and (not DirectInput) then PopupDropDown;


function GetDirectInput: Boolean;


function GetGlyph: TBitmap;


function GetMinHeight: Integer;


function GetNumGlyphs: TNumGlyphs;


function GetPopupVisible: Boolean;


function GetTextHeight: Integer;

text edit bug: if size to less than MinHeight, then edit ctrl does not display the text


function IsCustomGlyph: Boolean;


procedure PopupDropDown;


procedure RecreateGlyph;


procedure SetAlignment(Value: TAlignment);


procedure SetButtonHint(const Value: string);


procedure SetButtonWidth(Value: Integer);


procedure SetDirectInput(Value: Boolean);


procedure SetEditRect;


procedure SetGlyph(Value: TBitmap);


procedure SetGlyphKind(Value: TGlyphKind);


procedure SetNumGlyphs(Value: TNumGlyphs);


procedure SetReadOnly(Value: Boolean);


procedure SetShowCaret;


procedure UpdateBtnBounds;


procedure WMCut(var Message: TWMCut);


procedure WMKillFocus(var Message: TWMKillFocus);


procedure WMPaste(var Message: TWMPaste);


procedure WMSetFocus(var Message: TMessage);


procedure WMSize(var Message: TWMSize);


Properties


property Alignment : TAlignment


property AlwaysEnable : Boolean


property Button : TEditButton


property ButtonHint : string


property ButtonWidth : Integer


property ClickKey : TShortCut


property DirectInput : Boolean


property Glyph : TBitmap


property GlyphKind : TGlyphKind


property NumGlyphs : TNumGlyphs


property PopupAlign : TPopupAlign


property PopupVisible : Boolean


property ReadOnly : Boolean


Events


event OnButtonClick : TNotifyEvent


Variables


FDefNumGlyphs : TNumGlyphs;


FPopup : TPopupWindow;


FAlignment : TAlignment;


FAlwaysEnable : Boolean;


FBtnControl : TWinControl;


FButton : TEditButton;


FClickKey : TShortCut;


FDirectInput : Boolean;


FFocused : Boolean;


FGlyphKind : TGlyphKind;


FOnButtonClick : TNotifyEvent;


FPopupAlign : TPopupAlign;


FPopupVisible : Boolean;


FReadOnly : Boolean;