Class TEicListbox (unit Ef_Input)

Inherits from

TListBox

Constructors


constructor Create(AOwner: TComponent);



Functions

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


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


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


procedure ClearList;


procedure ClearModifyFlag;


function CurrentObject:TObject;


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!

function MoveNext(MoveUp:Boolean):Boolean;

use instead of Items.

procedure PickItemIndex(I:Integer);

uses QuickSort algorithm

Tabs cannot be set until CreateParams has been called.


procedure RunTimeLoaded;

only accurate with System font!

Tabs cannot be set until CreateParams has been called.


procedure SetTabStops(Tabs:array of TTab);


procedure SortObjects;


function Text:string;


procedure UndoEdit;

Triggers OnChange event

procedure AutoPick;


procedure Change;


procedure Click;


procedure CMFontChanged(var Msg:TMessage);


procedure CreateParams(var Params:TCreateParams);


procedure CreateWnd;


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


procedure DoDestroyObjects;


procedure DoModified;


procedure DrawItem(Index:Integer; Rect:TRect; State:TOwnerDrawState);


procedure FindMaxStrLen;

GetTextExtent and GetTabbedTextExtent seem to ignore the actual font used by Canvas and calculate the text width as if the System font was set

function GetDefaultIndex:Integer;


function GetItemLength(P:PChar):Word;


function GetScrollWidth:Integer;


function GetTag(Index:Integer):LongInt;


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


procedure LBAddString(var Msg:TMessage);


procedure LBDeleteString(var Msg:TMessage);


procedure LBInsertString(var Msg:TMessage);


procedure LBResetContent(var Msg:TMessage);

adjust scroll width

procedure Loaded;


procedure QuickSortObjects(L,R:Integer);


procedure SetAutoAdjustScrollWidth(SetOn:Boolean);


procedure SetDefaultIndex(AValue:Integer);


procedure SetOnAskItemAttr(AValue:TOnAskItemAttr);


procedure SetScrollLength(P:PChar);


procedure SetScrollWidth(AValue:Integer);


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


procedure SetUpdatingField(SetOn:Boolean);


procedure WmDestroy(var Msg:TMessage);


procedure WMLButtonDown(var Message: TWMLButtonDown);

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

Properties

property AllowNull : Boolean


property AllowToggle : Boolean


property AutoAdjustScrollWidth : Boolean


property CaseSensitive : Boolean


property DestroyObjects : Boolean


property ReadOnly : Boolean


property ScrollWidth : Integer


property UndoWhenEsc : Boolean


property DefaultIndex : Integer


property Modified : Boolean


property Tags : LongInt


property UpdatingField : Boolean


Events

event OnAskItemAttr : TOnAskItemAttr


event OnChange : TNotifyEvent


event OnCompare : TCompareEvent


event OnModified : TNotifyEvent


Variables

FAllowNull : Boolean;


FAllowToggle : Boolean;


FAutoAdjustScrollWidth : Boolean;


FCaseSensitive : Boolean;


FCreateWndOk : Boolean;


FDestroyObjects : Boolean;


FDialogBaseUnits : Integer;


FKeepIndex : Integer;


FMaxStrLen : Word;


FModified : Boolean;


FOnAskItemAttr : TOnAskItemAttr;


FOnChange : TNotifyEvent;


FOnCompare : TCompareEvent;


FOnModified : TNotifyEvent;


FReadOnly : Boolean;


FRenamingItem : Boolean;


FSorting : Boolean;


FTabStops : PTab;


FTabStopsCount : TTab;


FTempTabs : PTab;


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;


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


procedure ClearList;


procedure ClearModifyFlag;


function CurrentObject:TObject;


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!


function MoveNext(MoveUp:Boolean):Boolean;

use instead of Items.Exchange


procedure PickItemIndex(I:Integer);

uses QuickSort algorithm

Tabs cannot be set until CreateParams has been called. If SetTabStops is executed before CreateWnd, the values are temporarily stored in FTempTabs. CreateWnd will then take care of setting the tabs.


procedure RunTimeLoaded;

only accurate with System font!

Tabs cannot be set until CreateParams has been called. If SetTabStops was executed before CreateWnd, the values are temporarily stored in FTempTabs. Tabs are set at this stage if FTempTabs contains values.


procedure SetTabStops(Tabs:array of TTab);


procedure SortObjects;


function Text:string;


procedure UndoEdit;

Triggers OnChange event


procedure AutoPick;


procedure Change;


procedure Click;


procedure CMFontChanged(var Msg:TMessage);


procedure CreateParams(var Params:TCreateParams);


procedure CreateWnd;


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


procedure DoDestroyObjects;


procedure DoModified;


procedure DrawItem(Index:Integer; Rect:TRect; State:TOwnerDrawState);


procedure FindMaxStrLen;

GetTextExtent and GetTabbedTextExtent seem to ignore the actual font used by Canvas and calculate the text width as if the System font was set


function GetDefaultIndex:Integer;


function GetItemLength(P:PChar):Word;


function GetScrollWidth:Integer;


function GetTag(Index:Integer):LongInt;


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


procedure LBAddString(var Msg:TMessage);


procedure LBDeleteString(var Msg:TMessage);


procedure LBInsertString(var Msg:TMessage);


procedure LBResetContent(var Msg:TMessage);

adjust scroll width


procedure Loaded;


procedure QuickSortObjects(L,R:Integer);


procedure SetAutoAdjustScrollWidth(SetOn:Boolean);


procedure SetDefaultIndex(AValue:Integer);


procedure SetOnAskItemAttr(AValue:TOnAskItemAttr);


procedure SetScrollLength(P:PChar);


procedure SetScrollWidth(AValue:Integer);


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


procedure SetUpdatingField(SetOn:Boolean);


procedure WmDestroy(var Msg:TMessage);


procedure WMLButtonDown(var Message: TWMLButtonDown);

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


Properties


property AllowNull : Boolean


property AllowToggle : Boolean


property AutoAdjustScrollWidth : Boolean


property CaseSensitive : Boolean


property DestroyObjects : Boolean


property ReadOnly : Boolean


property ScrollWidth : Integer


property UndoWhenEsc : Boolean


property DefaultIndex : Integer


property Modified : Boolean


property Tags : LongInt


property UpdatingField : Boolean


Events


event OnAskItemAttr : TOnAskItemAttr


event OnChange : TNotifyEvent


event OnCompare : TCompareEvent


event OnModified : TNotifyEvent


Variables


FAllowNull : Boolean;


FAllowToggle : Boolean;


FAutoAdjustScrollWidth : Boolean;


FCaseSensitive : Boolean;


FCreateWndOk : Boolean;


FDestroyObjects : Boolean;


FDialogBaseUnits : Integer;


FKeepIndex : Integer;


FMaxStrLen : Word;


FModified : Boolean;


FOnAskItemAttr : TOnAskItemAttr;


FOnChange : TNotifyEvent;


FOnCompare : TCompareEvent;


FOnModified : TNotifyEvent;


FReadOnly : Boolean;


FRenamingItem : Boolean;


FSorting : Boolean;


FTabStops : PTab;


FTabStopsCount : TTab;


FTempTabs : PTab;


FUndoBuffer : TUndoBuffer;


FUndoWhenEsc : Boolean;


FUpdatingField : Boolean;