Class TRxDBLookupList (unit RXLookup) |
Inherits from
TRxLookupControl
TRxDBLookupList
constructor Create(AOwner: TComponent);
- TRxDBLookupList
procedure DrawItemText(Canvas: TCanvas; Rect: TRect;
Selected, IsEmpty: Boolean);
procedure CreateParams(var Params: TCreateParams);
procedure CreateWnd;
procedure KeyDown(var Key: Word; Shift: TShiftState);
procedure KeyPress(var Key: Char);
procedure Loaded;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
procedure MouseMove(Shift: TShiftState; X, Y: Integer);
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
procedure Paint;
if FListStyle = lsDelimited then
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
procedure CMCtl3DChanged(var Message: TMessage);
{$IFDEF RX_D3}
var
SIOld, SINew: TScrollInfo;
begin
if FLookuplink.
procedure CMFontChanged(var Message: TMessage);
procedure DisplayValueChanged;
function GetKeyIndex: Integer;
procedure KeyValueChanged;
procedure ListDataChanged;
procedure ListLinkActiveChanged;
procedure ListLinkDataChanged;
procedure SelectCurrent;
procedure SelectItemAt(X, Y: Integer);
procedure SetBorderStyle(Value: TBorderStyle);
procedure SetRowCount(Value: Integer);
procedure StopTimer;
procedure StopTracking;
procedure TimerScroll;
procedure UpdateBufferCount(Rows: Integer);
procedure UpdateDisplayEmpty(const Value: string);
procedure UpdateScrollBar;
procedure WMCancelMode(var Message: TMessage);
procedure WMNCHitTest(var Msg: TWMNCHitTest);
procedure WMTimer(var Message: TMessage);
procedure WMVScroll(var Message: TWMVScroll);
property Align :
property BorderStyle : TBorderStyle
property Color :
property Ctl3D :
property DataField :
property DataSource :
property DisplayEmpty :
property DragCursor :
property DragMode :
property EmptyItemColor :
property EmptyValue :
property Enabled :
property Font :
property IgnoreCase :
property ImeMode :
property ImeName :
property IndexSwitch :
property ItemHeight :
property ListStyle :
property LookupDisplay :
property LookupDisplayIndex :
property LookupField :
property LookupSource :
property ParentColor :
property ParentCtl3D :
property ParentFont :
property ParentShowHint :
property PopupMenu :
property ReadOnly :
property ShowHint :
property TabOrder :
property TabStop :
property Visible :
property DisplayValue :
property KeyValue :
property RowCount : Integer
property Value :
event OnClick :
event OnDblClick :
event OnDragDrop :
event OnDragOver :
event OnEndDrag :
event OnEnter :
event OnExit :
event OnGetImage :
event OnKeyDown :
event OnKeyPress :
event OnKeyUp :
event OnMouseDown :
event OnMouseMove :
event OnMouseUp :
event OnStartDrag :
FBorderStyle : TBorderStyle;
FKeySelected : Boolean;
FLockPosition : Boolean;
FMousePos : Integer;
FRecordCount : Integer;
FRecordIndex : Integer;
FRowCount : Integer;
FSelectEmpty : Boolean;
FTimerActive : Boolean;
FTracking : Boolean;
constructor Create(AOwner: TComponent);
TRxDBLookupList
procedure DrawItemText(Canvas: TCanvas; Rect: TRect;
Selected, IsEmpty: Boolean);
procedure CreateParams(var Params: TCreateParams);
procedure CreateWnd;
procedure KeyDown(var Key: Word; Shift: TShiftState);
procedure KeyPress(var Key: Char);
procedure Loaded;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
procedure MouseMove(Shift: TShiftState; X, Y: Integer);
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
procedure Paint;
if FListStyle = lsDelimited then
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
procedure CMCtl3DChanged(var Message: TMessage);
{$IFDEF RX_D3}
var
SIOld, SINew: TScrollInfo;
begin
if FLookuplink.Active and HandleAllocated then begin
with FLookuplink.DataSet do begin
SIOld.cbSize := sizeof(SIOld);
SIOld.fMask := SIF_ALL;
GetScrollInfo(Self.Handle, SB_VERT, SIOld);
SINew := SIOld;
if IsSequenced then begin
SINew.nMin := 1;
SINew.nPage := Self.FRowCount - Ord(EmptyRowVisible);
SINew.nMax := RecordCount + SINew.nPage - 1;
if State in [dsInactive, dsBrowse, dsEdit] then
SINew.nPos := RecNo;
end
else begin
SINew.nMin := 0;
SINew.nPage := 0;
if Self.FRecordCount = (FRowCount - Ord(EmptyRowVisible)) then begin
SINew.nMax := 4;
if BOF then SINew.nPos := 0
else if EOF then SINew.nPos := 4
else SINew.nPos := 2;
end
else begin
SINew.nMax := 0;
SINew.nPos := 0;
end;
end;
if (SINew.nMin <> SIOld.nMin) or (SINew.nMax <> SIOld.nMax) or
(SINew.nPage <> SIOld.nPage) or (SINew.nPos <> SIOld.nPos) then
SetScrollInfo(Self.Handle, SB_VERT, SINew, True);
end;
end
else begin
SetScrollRange(Handle, SB_VERT, 0, 0, False);
SetScrollPos(Handle, SB_VERT, 0, True);
end;
end;
{$ELSE}
procedure CMFontChanged(var Message: TMessage);
procedure DisplayValueChanged;
function GetKeyIndex: Integer;
procedure KeyValueChanged;
procedure ListDataChanged;
procedure ListLinkActiveChanged;
procedure ListLinkDataChanged;
procedure SelectCurrent;
procedure SelectItemAt(X, Y: Integer);
procedure SetBorderStyle(Value: TBorderStyle);
procedure SetRowCount(Value: Integer);
procedure StopTimer;
procedure StopTracking;
procedure TimerScroll;
procedure UpdateBufferCount(Rows: Integer);
procedure UpdateDisplayEmpty(const Value: string);
procedure UpdateScrollBar;
procedure WMCancelMode(var Message: TMessage);
procedure WMNCHitTest(var Msg: TWMNCHitTest);
procedure WMTimer(var Message: TMessage);
procedure WMVScroll(var Message: TWMVScroll);
property Align :
property BorderStyle : TBorderStyle
property Color :
property Ctl3D :
property DataField :
property DataSource :
property DisplayEmpty :
property DragCursor :
property DragMode :
property EmptyItemColor :
property EmptyValue :
property Enabled :
property Font :
property IgnoreCase :
property ImeMode :
property ImeName :
property IndexSwitch :
property ItemHeight :
property ListStyle :
property LookupDisplay :
property LookupDisplayIndex :
property LookupField :
property LookupSource :
property ParentColor :
property ParentCtl3D :
property ParentFont :
property ParentShowHint :
property PopupMenu :
property ReadOnly :
property ShowHint :
property TabOrder :
property TabStop :
property Visible :
property DisplayValue :
property KeyValue :
property RowCount : Integer
property Value :
event OnClick :
event OnDblClick :
event OnDragDrop :
event OnDragOver :
event OnEndDrag :
event OnEnter :
event OnExit :
event OnGetImage :
event OnKeyDown :
event OnKeyPress :
event OnKeyUp :
event OnMouseDown :
event OnMouseMove :
event OnMouseUp :
event OnStartDrag :
FBorderStyle : TBorderStyle;
FKeySelected : Boolean;
FLockPosition : Boolean;
FMousePos : Integer;
FRecordCount : Integer;
FRecordIndex : Integer;
FRowCount : Integer;
FSelectEmpty : Boolean;
FTimerActive : Boolean;
FTracking : Boolean;