TprxDBCheckBox
Descripción
El objeto TprxDBCheckBox (Control de edición DB de campos BIT.) es el control de edición usado para los campos de tipo BIT.

Identidad
- Ancestro: TDBCheckBox
- Carpeta: C:\DevelopPrx\library
- Archivo: prxDBCheckBox.pas
Declaración
type TprxDBCheckBox = class(TDBCheckBox) private FOnEnterField: TprxADOOnEnterField; FOnExitField: TprxADOOnExitField; 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 public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Loaded; override; published property OnEnterField: TprxADOOnEnterField read FOnEnterField write FOnEnterField; property OnExitField: TprxADOOnExitField read FOnExitField write FOnExitField; end;
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 TprxDBCheckBoxCreate(aOwner: TComponent; aDataSource: TDataSource; aFieldName: String): TprxDBCheckBox
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.
Suscribe a los mensajes de dataset:
TprxADODataSetEdit(DataSource.Dataset).Messages.Subscribe(Self, DataField); TprxADODataSetEdit(DataSource.Dataset).FieldsXtdList.AssignEditControl(DataField, Self);
Inicializa OnEnter y OnExit a los definidos en el TprxADODataSetEdit:
OnEnterField := TprxADODataSetEdit(DataSource.Dataset).OnEnterFieldXtd; OnExitField := TprxADODataSetEdit(DataSource.Dataset).OnExitFieldXtd;
procedure CMEnter(var Message: TCMENTER)
Llama al OnEnterField, agregar el caption <- para que el foco en un checkbox sea más visible y poco más.
procedure CMExit(var Message: TCMExit)
Llama al OnExitField, si el resultado es True sigue normalmente, sino vuelve a setear foco en el control. Además, elimina el caption <-,
procedure CNKeyDown(var Message: TWMKeyDown)
Atrapa la tecla VK_RETURN (ENTER) y avanza al siguiente control.
procedure FieldMessage(var Message: TprxADODataSetMessage)
Recibe y procesa mensajes de la aplicación, los mensajes son:
- msgEnable habilita (o deshabilita) un control según el estado que tenía.:
- msgDisable deshabilita el control.
- msgFocus pone el foco sobre el control (si el control lo admite).
- msgFindFocus si el control puede enfocar lo hace.
Uso
El control de edición se usa para los campos de tipo BIT y habitualmente es instanciado por TprxScrollBox.