Array
(
)

Criação de Componente

Rogeriobarfer
   - 11 set 2004

Caros Amigos,

No componente IWDBedit existe uma propriedade chamada Required. Como posso implementar essa mesma propriedade no Componente DBEdit?
Alguém sabe de algum tutorial a respeito?

Abraços

Rogério


Edmarss
   - 11 set 2004

Fiz este componente descendente do TDBEdit para você ve se ficou legal..
espero ter ajudado...

unit EDDBEdit;

interface

uses
SysUtils, Classes, Controls, StdCtrls, Mask, DBCtrls, Dialogs;

type
TEDDBEdit = class(TDBEdit)
private
{ Private declarations }
FRequired : Boolean;
procedure CMExit(var Message: TCMExit); message CM_EXIT;
protected
{ Protected declarations }
Procedure SetRequired(Value:Boolean);
public
{ Public declarations }
published
{ Published declarations }
Property Required: Boolean read FRequired write SetRequired;
end;

procedure Register;

implementation

Procedure TEDDBEdit.SetRequired(Value:Boolean);
Begin
If Value<>FRequired Then Begin
FRequired:=Value;
End;
End;

procedure TEDDBEdit.CMExit(var Message: TCMExit);
begin
// Testa se a Propriedade Field está acessível (diferente de nil);
If Assigned(Field) Then Begin
// Teste se é Requerido e se não foi preenchido
If (FRequired) And (Text = ´´) Then Begin
MessageDlg(´Campo ´+QuoTedStr(Field.DisplayName)+´ com preenchimento obrigatório.´, mtWarning, [mbOk], 0);
SetFocus;
Exit;
End;
End;
inherited; // Executa o codigo do Exit do componente
End;

procedure Register;
begin
RegisterComponents(´Edmar´, [TEDDBEdit]);
end;

end.