Hola, un saludo a todos...
Tengo un formulario base (UBaseForm), donde guardo los procedimientos y funciones que más utilizo en otros form. Por una consulta que realicé en días pasados aquí en el club, decidí trabajar con "Herencia", he estado leyendo y documentándome al respecto, ya que soy novato en ese tema.
El punto es que necesito manipular las pestañas de un PageControl en un formulario heredado desde el formulario base, pero hasta el momento no he tenido éxito.
Me explico: Tengo un procedimiento en el formulario base al que le paso como parámetros el nombre de un campo y la pestaña donde se encuentra, para que lo muestre y le pase el foco.
A continuación les muestro lo que llevo hecho, para que me orienten.
En la primera prueba, definí el PageControl en la sección Interface/Var, no da error, pero al ejecutar el procedimiento no muestra la pestaña que requiero.
Código Delphi
[-]
unit UBaseForm;
interface
uses
vcl.ComCtrls, ....
type
TBaseForm = class(TForm)
.
.
var
BaseForm: TBaseForm;
PageControl1: TPageControl;
implementation
procedure TBaseForm.MostrarEdit(NameCampo:TEdit ; NameSheet:TTabSheet);
begin
PageControl1.ActivePage := NameSheet;
NameCampo.SetFocus;
Abort;
end;
En la segunda prueba, definí el PageControl en la sección Var dentro del procedimiento, tampoco da error, pero al ejecutar el procedimiento no muestra la pestaña que requiero.
Código Delphi
[-]
unit UBaseForm;
interface
uses
vcl.ComCtrls, ....
type
TBaseForm = class(TForm)
.
.
var
BaseForm: TBaseForm;
implementation
procedure TBaseForm.MostrarEdit(NameCampo:TEdit ; NameSheet:TTabSheet);
var
PageControl1: TPageControl;
begin
PageControl1.ActivePage := NameSheet;
NameCampo.SetFocus;
Abort;
end;
Para llamar al procedimiento desde el form heredado, utilizo la siguiente instrucción:
Código Delphi
[-]
MostrarEdit(TxtCodigo,TabSheet1);
Al no poder ejecutarse el SetFocus en la pestaña requerida, obviamente aparece el mensaje:
"Cannot focus a disabled or invisible windows"
Qué me falta definir o declarar ?
Gracias anticipadas por sus comentarios...