Ver Mensaje Individual
  #8  
Antiguo 17-01-2012
elGuerrero elGuerrero is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 10
Reputación: 0
elGuerrero Va por buen camino
Cita:
Empezado por elGuerrero Ver Mensaje
No se me había ocurrido hacerlo así, y sí es como lo imaginaba.
Lo extra que tendría que hacer sería agregarle otras propiedades que ya le había puesto a mi TEdit derivado.
Muchas gracias.
Debido a que ocupo otras propiedades de TEdit como TabOrder derive mejor de TLabeledEdit en lugar de TCustomLabeledEdit.
Les pongo lo escencial del código:

Código:
   TEntradaTxt = class(TLabeledEdit)
       FRequerido: Boolean;
       procedure SetRequerido(lVal: Boolean);
   public
       constructor Create(AOwner: TComponent); override;
   published
       property Requerido: Boolean read FRequerido write SetRequerido;
   end;

constructor TEntradaTxt.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FRequerido   := False;
  LabelPosition:= lpRight;
  LabelSpacing := 4;
  EditLabel.Caption:= '';
  EditLabel.Font.Color:= clRed;
end;

procedure TEntradaTxt.SetRequerido(lVal: Boolean);
begin
  if lVal <> FRequerido then
    begin
    FRequerido := lVal;
    if lVal then
      EditLabel.Caption:= '*'
    else
      EditLabel.Caption:= '';
    RecreateWnd;
    end
  else
    begin
    //***mi parche***
    if (not FRequerido) and (EditLabel.Caption <> '') then
      EditLabel.Caption:= '';
    end;
end;
El problema que tengo ahora es que en tiempo de diseño, cuando inserto el componente dentro de una WinForm me pone en el EditLabel.Caption la propiedad Name del componente.
A mi ver no me falta ninguna inicialización pero me sale ese valor y quise resolverlo agregando el código que marque con la etiqueta "mi parche", pero no me funciona.
En tiempo de diseño para borrar ese valor, una vez insertado el componente, en el Obj Inspector asigno con el mouse Requerido y luego lo desasigno y de esa manera desaparece el valor del Name en el Caption.

Podrian orientarme en ¿cómo puedo corregirlo para que salga en blanco en tiempo de diseño?

Gracias de antemano.
Responder Con Cita