Class TEicComboBox (unit Ef_Input)

Inherits from

TComboBox

Constructors


constructor Create(AOwner: TComponent);



Functions

function AddSortObject(const S:string; AObject:TObject):Integer;


function AddSortTag(const S:string; ATag:LongInt):Integer;


function CanClear:Boolean;


function CanCopy:Boolean;


function CanCut:Boolean;


function CanPaste:Boolean;


function CanSelectAll:Boolean;


procedure ChangeItemIndex(I:Integer);


procedure ChangeText(I:Integer; const NewText:string);

same as ItemIndex property but triggers OnListPick

Same as ItemIndex property but triggers OnListPick


procedure Clear;


procedure ClearList;

uses QuickSort algorithm

procedure ClearModifyFlag;


procedure ClearSelection;


procedure Copy2Printer;


procedure CopyToClipboard;


function CurrentObject:TObject;

use instead of Items.

procedure CutToClipboard;


destructor Destroy;


procedure Exchange(Index1,Index2:Integer);

use instead of Items.

function IndexOf(const S:string):Integer;


procedure Move(CurIndex,NewIndex:Integer);

Windows first destroys the item and then inserts the new text!

procedure PasteFromClipboard;


procedure PickItemIndex(I:Integer);

Same as ItemIndex property but triggers OnListPick; keeps text

procedure RunTimeLoaded;


procedure SortObjects;


function TakeEnter:Boolean;


procedure ToggleInsMode;


procedure UndoEdit;


procedure UpdateItemIndex(I:Integer);


procedure AddToList(const NewText:string; NewObject:TObject);


procedure AutoPick;

The Items object no longer exists in the normal Destroy method.

procedure CallNotInList(NewText:string);


procedure CBAddString(var Msg:TMessage);


procedure CBDeleteString(var Msg:TMessage);


procedure CBInsertString(var Msg:TMessage);


procedure Change;


procedure CheckOverwrite;


procedure CnCommand(var Message:TWMCommand);


procedure ComboWndProc(var Message: TMessage; ComboWnd: HWnd; ComboProc: Pointer);

used to work around a bug in Delphi 2.

procedure DoCompare(O1,O2:TObject; var Value:TCompareResult);

True indicates enter key was used for processing

procedure DoEdited;


procedure DoExit;


procedure DoListPick;


procedure DoNotInList(var NewText:string; var Accept:Boolean);


procedure ExpandUserInput;


function GetDefaultIndex:Integer;


function GetDefaultValue:string;


function GetEditBoxText:string;


function GetTag(Index:Integer):LongInt;


function InputIsOk(ResetFocus:Boolean):Boolean;


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


procedure KeyPress(var Key: Char);


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


procedure Loaded;

fixes Delphi bug that displays selection even when control is not focused:

procedure Notification(AComponent: TComponent; Operation: TOperation);


procedure QuickSortObjects(L,R:Integer);


procedure SetAddNewToList(SetOn:Boolean);


procedure SetDefaultIndex(AValue:Integer);


procedure SetDefaultValue(const S:string);


procedure SetEditBoxText(const S:string);


procedure SetLimitToList(SetOn:Boolean);


procedure SetOverwrite(SetOn:Boolean);


procedure SetParent(AParent: TWinControl);


procedure SetReadOnly(SetOn:Boolean);

checks if called by edit-box element:

procedure SetSelLength(Value:Integer);

used to work around a bug in Delphi 2.

procedure SetSelStart(Value:Integer);


procedure SetTag(Index:Integer; AValue:LongInt);


procedure SetUpdatingField(SetOn:Boolean);


procedure WmDestroy(var Msg:TMessage);


procedure WmEnable(var Msg:TMessage);


procedure WmPaste(var Msg:TMessage);


Properties

property AddNewToList : Boolean


property AddNewToStart : Boolean


property AllowNull : Boolean


property AutoExpand : Boolean


property AutoPickItem : Boolean


property CaseSensitive : Boolean


property DestroyObjects : Boolean


property DispatchInsMode : Boolean


property LimitToList : Boolean


property OverwriteMode : Boolean


property ReadOnly : Boolean


property UndoWhenEsc : Boolean


property DefaultIndex : Integer


property DefaultValue : string


property Focused : Boolean


property InputBoxMaster : TInputBoxMaster


property Modified : Boolean


property Tags : LongInt


property UndoBuffer : TUndoBuffer


property UpdatingField : Boolean

Focused is redeclared in Delphi 2 to hide bugy property in base class

property Value : string


Events

event OnCompare : TCompareEvent


event OnEdited : TNotifyEvent


event OnListPick : TNotifyEvent


event OnNotInList : TAddToListEvent


event OnPaste : TPromptEvent


Variables

FAddNewToList : Boolean;


FAddNewToStart : Boolean;


FAllowNull : Boolean;


FAutoExpand : Boolean;


FAutoPickItem : Boolean;


FCaseSensitive : Boolean;


FDestroyObjects : Boolean;


FDispatchInsMode : Boolean;


FInputBoxMaster : TInputBoxMaster;


FIsFocused : Boolean;


FJustHitDelete : Boolean;


FKeepColor : Integer;


FLimitToList : Boolean;


FListPicked : Boolean;


FLoneInsert : Boolean;


FModified : Boolean;


FNewItem : Boolean;


FOnCompare : TCompareEvent;


FOnEdited : TNotifyEvent;


FOnListPick : TNotifyEvent;


FOnNotInList : TAddToListEvent;


FOnPaste : TPromptEvent;


FOverwrite : Boolean;


FReadOnly : Boolean;


FRenamingItem : Boolean;


FSorting : Boolean;


FUndoBuffer : TUndoBuffer;


FUndoWhenEsc : Boolean;


FUpdatingField : Boolean;



Constructors


constructor Create(AOwner: TComponent);


Functions


function AddSortObject(const S:string; AObject:TObject):Integer;


function AddSortTag(const S:string; ATag:LongInt):Integer;


function CanClear:Boolean;


function CanCopy:Boolean;


function CanCut:Boolean;


function CanPaste:Boolean;


function CanSelectAll:Boolean;


procedure ChangeItemIndex(I:Integer);


procedure ChangeText(I:Integer; const NewText:string);

same as ItemIndex property but triggers OnListPick

Same as ItemIndex property but triggers OnListPick


procedure Clear;


procedure ClearList;

uses QuickSort algorithm


procedure ClearModifyFlag;


procedure ClearSelection;


procedure Copy2Printer;


procedure CopyToClipboard;


function CurrentObject:TObject;

use instead of Items.Exchange


procedure CutToClipboard;


destructor Destroy;


procedure Exchange(Index1,Index2:Integer);

use instead of Items.Move


function IndexOf(const S:string):Integer;


procedure Move(CurIndex,NewIndex:Integer);

Windows first destroys the item and then inserts the new text!


procedure PasteFromClipboard;


procedure PickItemIndex(I:Integer);

Same as ItemIndex property but triggers OnListPick; keeps text


procedure RunTimeLoaded;


procedure SortObjects;


function TakeEnter:Boolean;


procedure ToggleInsMode;


procedure UndoEdit;


procedure UpdateItemIndex(I:Integer);


procedure AddToList(const NewText:string; NewObject:TObject);


procedure AutoPick;

The Items object no longer exists in the normal Destroy method. That's why it must be used here for the last time when the parent window is destroyed


procedure CallNotInList(NewText:string);


procedure CBAddString(var Msg:TMessage);


procedure CBDeleteString(var Msg:TMessage);


procedure CBInsertString(var Msg:TMessage);


procedure Change;


procedure CheckOverwrite;


procedure CnCommand(var Message:TWMCommand);


procedure ComboWndProc(var Message: TMessage; ComboWnd: HWnd; ComboProc: Pointer);

used to work around a bug in Delphi 2.0


procedure DoCompare(O1,O2:TObject; var Value:TCompareResult);

True indicates enter key was used for processing


procedure DoEdited;


procedure DoExit;


procedure DoListPick;


procedure DoNotInList(var NewText:string; var Accept:Boolean);


procedure ExpandUserInput;


function GetDefaultIndex:Integer;


function GetDefaultValue:string;


function GetEditBoxText:string;


function GetTag(Index:Integer):LongInt;


function InputIsOk(ResetFocus:Boolean):Boolean;


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


procedure KeyPress(var Key: Char);


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


procedure Loaded;

fixes Delphi bug that displays selection even when control is not focused:


procedure Notification(AComponent: TComponent; Operation: TOperation);


procedure QuickSortObjects(L,R:Integer);


procedure SetAddNewToList(SetOn:Boolean);


procedure SetDefaultIndex(AValue:Integer);


procedure SetDefaultValue(const S:string);


procedure SetEditBoxText(const S:string);


procedure SetLimitToList(SetOn:Boolean);


procedure SetOverwrite(SetOn:Boolean);


procedure SetParent(AParent: TWinControl);


procedure SetReadOnly(SetOn:Boolean);

checks if called by edit-box element:


procedure SetSelLength(Value:Integer);

used to work around a bug in Delphi 2.0


procedure SetSelStart(Value:Integer);


procedure SetTag(Index:Integer; AValue:LongInt);


procedure SetUpdatingField(SetOn:Boolean);


procedure WmDestroy(var Msg:TMessage);


procedure WmEnable(var Msg:TMessage);


procedure WmPaste(var Msg:TMessage);


Properties


property AddNewToList : Boolean


property AddNewToStart : Boolean


property AllowNull : Boolean


property AutoExpand : Boolean


property AutoPickItem : Boolean


property CaseSensitive : Boolean


property DestroyObjects : Boolean


property DispatchInsMode : Boolean


property LimitToList : Boolean


property OverwriteMode : Boolean


property ReadOnly : Boolean


property UndoWhenEsc : Boolean


property DefaultIndex : Integer


property DefaultValue : string


property Focused : Boolean


property InputBoxMaster : TInputBoxMaster


property Modified : Boolean


property Tags : LongInt


property UndoBuffer : TUndoBuffer


property UpdatingField : Boolean

Focused is redeclared in Delphi 2 to hide bugy property in base class


property Value : string


Events


event OnCompare : TCompareEvent


event OnEdited : TNotifyEvent


event OnListPick : TNotifyEvent


event OnNotInList : TAddToListEvent


event OnPaste : TPromptEvent


Variables


FAddNewToList : Boolean;


FAddNewToStart : Boolean;


FAllowNull : Boolean;


FAutoExpand : Boolean;


FAutoPickItem : Boolean;


FCaseSensitive : Boolean;


FDestroyObjects : Boolean;


FDispatchInsMode : Boolean;


FInputBoxMaster : TInputBoxMaster;


FIsFocused : Boolean;


FJustHitDelete : Boolean;


FKeepColor : Integer;


FLimitToList : Boolean;


FListPicked : Boolean;


FLoneInsert : Boolean;


FModified : Boolean;


FNewItem : Boolean;


FOnCompare : TCompareEvent;


FOnEdited : TNotifyEvent;


FOnListPick : TNotifyEvent;


FOnNotInList : TAddToListEvent;


FOnPaste : TPromptEvent;


FOverwrite : Boolean;


FReadOnly : Boolean;


FRenamingItem : Boolean;


FSorting : Boolean;


FUndoBuffer : TUndoBuffer;


FUndoWhenEsc : Boolean;


FUpdatingField : Boolean;