Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-10-2004
JulioGO JulioGO is offline
Miembro
 
Registrado: ago 2004
Posts: 94
Poder: 20
JulioGO Va por buen camino
Question Ocultar propiedades

¿Alguien sabe como oculta propiedades al crear un componente?. Desearia ocultar propiedades del control ComboBox para que pueda realizar las funciones que le estoy dando.

Saludos.
Responder Con Cita
  #2  
Antiguo 06-10-2004
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
El nivel de visibilidad de una propiedad o método no puede degradarse, sólo aumentarse. Sin embargo, puedes heredar tu componente de TCustomComboBox en lugar de TComboBox y publicar sólo las propiedades que quieras mostrar. De hecho TComboBox no tiene nada de código, lo único que hace es publicar propiedades de TCustomComboBox.

Bye
Responder Con Cita
  #3  
Antiguo 07-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por JulioGO
¿Alguien sabe como oculta propiedades al crear un componente?. Desearia ocultar propiedades del control ComboBox para que pueda realizar las funciones que le estoy dando...
Se puedes ocultar propiedades en un derivado del componente; Por ejemplo puedes derivar un TComboBox y crear un TComboBoxEx al cual le ocultes las propiedades que desees; Prueba con un código como éste:

(código para la parte de Interficie)
Código Delphi [-]
...
type
  // Tipo Dummy
  TDummyProp = (dummyprop);
  // definición del componente derivado
  tcomboBoxNew = class(tcombobox)
  private
    { Private declarations }
    _DummyProp: TDummyProp;
  protected
    { Protected declarations }
  public
    { Public declarations }
  published
    { Published declarations }
    // Ocultar propiedades ============================
    property Charcase:TDummyProp read _DummyProp;
    property Color:TDummyProp read _DummyProp;
    property Constraints:TDummyProp read _DummyProp;
    property Ctl3D:TDummyProp read _DummyProp;
    property Cursor:TDummyProp read _DummyProp;
  end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 07-10-2004
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
¿Y esto de qué sirve?


Código:
 type
 	TDummyProp = (dummyprop);
 
 	TMyEdit = class(TEdit)
 	private
 		_DummyProp: TDummyProp;
 
 	published
 		property Text: TDummyProp read _DummyProp;
 	end;
 
 var
 	MyEdit: TMyEdit;
 
 	...
 
 TEdit(MyEdit).Text := 'Hola, todavía ando por aquí';
y a cambio llenas la componente derivada de una serie de propiedades extrañas.

Bye
Responder Con Cita
  #5  
Antiguo 08-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por keyboy
¿Y esto de qué sirve?
Pues justo para lo que han pedido....

Cita:
Empezado por JulioGO
¿Alguien sabe como oculta propiedades al crear un componente?.
Como tú bien apuntas la propiedad sigue estando, pero es que no se ha preguntado cómo quitarla, sino cómo ocultarla. Otro tema es ¿para qué puede ser útil? En mi caso alguna vez sí lo ha sido y Julio tendrá sus razones (supongo).

Cita:
Empezado por keyboy
...y a cambio llenas la componente derivada de una serie de propiedades extrañas.
No son propiedades extrañas, sino que son las mismas que tiene el propio componente que las redefines (como cambiarles el tipo); Éstas propiedades no aparecen en el DFM (no ocupan ese espacio).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 03-11-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Si estas diseñando un componente, no lo derives de TComboBox, debiera haber un TCustomComboBox que no tenga publicadas las propiedades, y para el que podes decidir cuales publicar.

Las propiedades estarán alli, pero serán protegidas.

Saludos.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 26-12-2007
alapaco alapaco is offline
No confirmado
 
Registrado: jun 2003
Ubicación: Buenos Aires
Posts: 287
Poder: 0
alapaco Va por buen camino
Question Ocultar control

Retomando el tema....si yo tengo un frame asi:

Código Delphi [-]
type
  TfraDomicilio = class(TFrame)
    cmbLocalidad: TComboBox;
    procedure cmbLocalidadEnter(Sender: TObject);
end;

Es posible modificarlo de alguna forma para que el control cmbLocalidad quede oculto (oculto para acceder por código, pero visible en el frame).

Lo que yo necesito es algo asi:

Código Delphi [-]
type
  TfraDomicilio = class(TFrame)
  private
    cmbLocalidad: TComboBox;
    procedure cmbLocalidadEnter(Sender: TObject);
  published
    property Localidad: String read GetLocalidad write SetLocalidad;
end;

Al ejecutar la aplicación y entrar al formulario que contiene ese frame me tira el error "Error reading cmbLocalidad.OnEnter: Invalid property value".

Como se puede solucionar la necesidad de que por código otra clase no pueda modificar las propiedades del control cmbLocalidad ???

Última edición por alapaco fecha: 26-12-2007 a las 17:53:10.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 00:53:55.


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