FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
TCollection
Hola a todos.
Intentaré explicar mi duda de forma sencilla...Tengo un componente desarrollado por mi, descendiente de TStringGrid. Este componente tiene una propiedad de tipo TCollection. Lo que quiero hacer es que cuando se añada un nuevo item a la "coleción", se añada una nueva fila a mi componente (como hace el TDBGrid con las columns). Supongo que tendré que generar un evento cuando añada un nuevo item, y en el código del evento sumar una línea a mi componente, pero algo estoy haciento mal, por que me da errores. Os pongo parte del código por si os aclara algo: TNuevoUsuario = procedure (Sender: TObject) of object; TUsuarios = class(TCollection) private FNuevoUsuario: TNuevoUSuario; public constructor Create(Owner : TPersistent); destructor Destroy; override; Function Add:TUsuariosItem; function Insert(Index: Integer): TUsuariosItem; property Items[Index: Integer]: TUsuariosItem read GetItem write SetItem; property NuevoUsuario: TNuevoUsuario read FNuevoUsuario write FNuevoUsuario; TOcupacion = class(TStringGrid) private FUsuarios: TUsuarios; procedure NuevoUsuarioEvento(sender:TObject); .............................. Function TUsuarios.Add:TUsuariosItem; begin result:=TUsuariosItem(Inherited Add); if Assigned(NuevoUsuario) then NuevoUsuario(Self); end; constructor TOcupacion.Create(AOwner: TComponent); begin Inherited; FUsuarios := TUsuarios.Create(AOwner); FUsuarios.NuevoUsuario := NuevoUsuarioEvento; end; procedure TOcupacion.NuevoUsuarioEvento(Sender: TObject); begin RowCount:=RowCount+1; end; Agradecería cualquier orientación sobre el tema. Un saludo. |
|
|
|