Diferencia entre revisiones de «TprxDBEdit»
(Página creada con «=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: *Checkbox. *Combos. *Fechas. *Memos. Es el control de edición más usado en la aplicación. =Identidad= Category:MANUAL/PROGRAMADOR Category:CONTROLES *Ancestro: TDBEdit *Carpeta: C:\DevelopPrx\library *Archivo: prxDBEdit.pas =Declaración= <pre> type TprxDBEdit…») |
|||
Línea 1: | Línea 1: | ||
=Descripción= | =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: | 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. | *Combos. | ||
*Fechas. | *Fechas. |
Revisión del 16:27 23 may 2025
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;