unit uViewContacto; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewBase, ExtCtrls, StdCtrls, Buttons, DB, uDADataTable, DBCtrls, Grids, DBGrids, uBizContacto, Mask, ComCtrls, uCustomView, uViewDireccion, uViewTelefonos, uViewInternet, uViewCategorias, JvComponent, JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit; type IViewContacto = interface(IViewBase) ['{5FCFD172-5F8A-4639-B479-1CF0061526B5}'] function GetContacto: IBizContacto; procedure SetContacto(const Value: IBizContacto); property Contacto: IBizContacto read GetContacto write SetContacto; end; TfrViewContacto = class(TfrViewBase, IViewContacto) Bevel1: TBevel; DADataSource: TDADataSource; frViewInternet1: TfrViewInternet; frViewTelefonos: TfrViewTelefonos; frViewDireccion: TfrViewDireccion; Label1: TLabel; Label2: TLabel; Label5: TLabel; pnlGeneral: TPanel; eNombre: TcxDBTextEdit; eNIFCIF: TcxDBTextEdit; procedure FrameResize(Sender: TObject); private FContacto: IBizContacto; protected function GetContacto: IBizContacto; procedure SetContacto(const Value: IBizContacto); public constructor Create(AOwner : TComponent); override; property Contacto: IBizContacto read GetContacto write SetContacto; end; implementation uses uDataModuleContactos; {$R *.dfm} { TfrViewContactos } { ******************************* TfrViewContacto ******************************** } constructor TfrViewContacto.Create(AOwner : TComponent); begin inherited; end; procedure TfrViewContacto.FrameResize(Sender: TObject); var CalcWidth: Integer; begin { CalcWidth := Round(Width / (1.0 + WidthRatio)); DisableAlign; try pnlGeneral.Width := CalcWidth; frViewDireccion.Width := CalcWidth; frViewTelefonos.Left := pnlGeneral.Width + pnlGeneral.Left; frViewTelefonos.Width := CalcWidth; finally EnableAlign; end;} end; function TfrViewContacto.GetContacto: IBizContacto; begin Result := FContacto; end; procedure TfrViewContacto.SetContacto(const Value: IBizContacto); begin FContacto := Value; if Assigned(FContacto) then DADataSource.DataTable := FContacto.DataTable else DADataSource.DataTable := NIL; frViewDireccion.DADataSource.DataTable := DADataSource.DataTable; frViewTelefonos.DADataSource.DataTable := DADataSource.DataTable; frViewInternet1.DADataSource.DataTable := DADataSource.DataTable; end; initialization RegisterClass(TfrViewContacto); finalization UnRegisterClass(TfrViewContacto); end.