Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-12-2015
scigliano scigliano is offline
Miembro
NULL
 
Registrado: ago 2013
Posts: 10
Poder: 0
scigliano Va por buen camino
Manipular PageControl en Form heredado

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;
   //******************************************
   //*** OPCION 1: DECLARACION DEL PAGECONTROL
   //******************************************
   PageControl1: TPageControl;

implementation

procedure TBaseForm.MostrarEdit(NameCampo:TEdit ; NameSheet:TTabSheet);
begin
   //*** Activa la pestaña
   PageControl1.ActivePage := NameSheet;
   //*** Pasa el foco al campo
   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
   //******************************************
   //*** OPCION 2: DECLARACION DEL PAGECONTROL
   //******************************************
   PageControl1: TPageControl;
begin
   //*** Activa la pestaña
   PageControl1.ActivePage := NameSheet;
   //*** Pasa el foco al campo
   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...
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manipular TEdit de un Form desde una Unit scigliano Varios 3 01-12-2015 21:38:55
Redefinir procedure OnShow en form heredado. Walterio OOP 3 11-09-2012 17:46:25
Problemas al manipular form reivaj_bo Varios 1 16-11-2009 16:28:35
Como puedo abrir un form en un PageControl marcoev OOP 7 05-09-2008 18:41:38
¿se puede manipular el componente PageControl? Nelly Varios 3 06-01-2006 19:51:15


La franja horaria es GMT +2. Ahora son las 16:06:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi