TprxDBEdit
Descripción
El objeto TprxDBEdit (Control de edición DB de campos alfanuméricos.) es el control de edición usado para todos los tipos de campo que no sean:
- Lógicos.
- Combos.
- Fechas.
- Memos.
Es el control de edición más usado en la aplicación.
Identidad
- Ancestro: TDBEdit
- Carpeta: C:\DevelopPrx\library
- Archivo: prxDBEdit.pas
Declaración
type
TprxDBEdit = class(TDBEdit)
private
FFieldXTD: Tfva_campos_item;
FDataType: TprxEditDataType;
FDataControl: String;
FOnEnterField: TprxADOOnEnterField;
FOnExitField: TprxADOOnExitField;
FImages: TImageList;
procedure CMEnter(var Message: TCMEnter); message CM_ENTER;
procedure CMExit(var Message: TCMExit); message CM_EXIT;
procedure CNKeyDown(var Message: TWMKeyDown); message CN_KEYDOWN;
procedure FieldMessage(var Message: TprxADODataSetMessage); message MSG_PRXADODATASETMESSAGE;
protected
property FieldXTD: Tfva_campos_item read FFieldXTD write FFieldXTD;
procedure SetImages(aValue: TImageList);
procedure LocalKeyPress(Sender: TObject; var Key: Char);
procedure MostrarCamposCalculadosForm(Sender: TObject);
procedure MostrarSuscripcionEvaluacionesForm(Sender: TObject);
procedure MostrarMaestroDo(Sender: TObject);
procedure SeleccionarPartidas(Sender: TObject);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Loaded; override;
procedure AssignDataSource(aDataSource: TDataSource; aDataField: String);
procedure Seleccionar(Sender: TObject);
procedure MostrarMaestro(Sender: TObject);
property DataType: TprxEditDataType read FDataType write FDataType;
property DataControl: String read FDataControl write FDataControl;
property Images: TImageList read FImages write SetImages;
published
property OnEnterField: TprxADOOnEnterField read FOnEnterField write FOnEnterField;
property OnExitField: TprxADOOnExitField read FOnExitField write FOnExitField;
end;
FFieldXTD: Tfva_campos_item
Propiedad que guarda referencia al campo del dataset asociado al control de edición.
FDataType: TprxEditDataType
Guarda el tipo de dato: edtCombo, edtAlpha, edtInteger, edtFloat o edtBoolean.
FOnEnterField: TprxADOOnEnterField
Permite definir una referencia al procedimiento que debe manejar el OnEnter.
FOnExitField: TprxADOOnExitField
Permite definir una referencia al procedimiento que debe manejar el OnExit.
Implementación
function TprxDBEditCreate(AOwner: TComponent; aDataSource: TDataSource; aFieldName: String; aImages: TImageList = nil): TprxDBEdit
Esta función está definida fuera de la clase y sirve para crear un nuevo control de edición directamente.
procedure Loaded
El procedimiento Loaded se ejecuta cuando un form ya se ha instanciado y está listo para mostrarse al usuario, inicializa algunas de las propiedades.
Inicializa el campo Tfva_campos_item al que está asociado:
FieldXTD := TprxADODataSetEdit(DataSource.Dataset).FieldsXtdList.FieldByName(DataField); TprxADODataSetEdit(DataSource.Dataset).FieldsXtdList.AssignEditControl(DataField, Self);
Suscribe a los mensajes de dataset:
TprxADODataSetEdit(DataSource.Dataset).Messages.Subscribe(Self, DataField);
Inicializa OnEnter y OnExit a los defindos en el TprxADODataSetEdit:
OnEnterField := TprxADODataSetEdit(DataSource.Dataset).OnEnterFieldXtd; OnExitField := TprxADODataSetEdit(DataSource.Dataset).OnExitFieldXtd;
Si el campo es requerido lo pinta de verde:
if FieldXTD.Requerido then Self.Color := clMoneyGreen;