Ver Mensaje Individual
  #1  
Antiguo 12-08-2006
Avatar de jzginez
jzginez jzginez is offline
Miembro
 
Registrado: sep 2003
Ubicación: Puebla, México
Posts: 247
Reputación: 21
jzginez Va por buen camino
Inicializar componentes propios

Hola amigos hace ya vastante tiempo uno de los master de este foro (desafortunadamente no recuerdo quien) en un tema proporcionaba un programa y el código de como cambiar combobox para hacer que te mostrara varias columnos y te regresara el valor que se localizaba en x columna el proyecto se llama pcombobox, esto es como simple historia y por si alguien mas lo recuerda.

El caso es que en lo personal me gusto mucho esos cambios y como lo he usado en varios sistemas, hoy que tengo un poco de tiempo lo modifique lo suficiente para hacerlo un componente, la declaración me quedo como sigue:
Código Delphi [-]
type
  arreglos = array of String;
  TComboBoxMultiple = class(TComboBox)
  private
    { Private declarations }
    ColMostrar,
    ColAlmacenar: Integer;
    Resultados: arreglos;
    procedure DrawTxt(S: string; ARect: TRect);
    function GetField(S: string; FieldIndex: integer; Delimiter: Char): string;
  protected
    { Protected declarations }
    procedure DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
  public
    { Public declarations }
    constructor Create(AOwner : TComponent); override;    {Constructor}
    destructor Destroy; override;                         {Destructor}
    Procedure EscribeColAlmacenar(Valor: Integer);
    Procedure EscribeColMostrar(Valor: Integer);
    Function LeeResultados: Arreglos;
  published
    { Published declarations }
     property ColumnaAlmacenar: Integer read ColAlmacenar write EscribeColAlmacenar default 1;
     property ColumnaMostrar: Integer read ColMostrar write EscribeColMostrar default 1;
     Property Valores: arreglos read LeeResultados;
  end;

el componente funciona, el problema es que cuando quiero usar este componente y lo coloco en alguna forma las propiedades ColumnaAlmacenar y ColumnaMostrar en el inspector de propiedades estan en 0 cuando segun yo deberian de ser 1 y si las cambio en el mismo inspector de propiedades no hacen lo que deberian de hacer pero si las cambio por código si funcionan bien.

alguien podra saber que esta pasando, Gracias
__________________
Espero poder seguir exprimiéndote el cerebro 8)
Jorge Zamora Ginez
Puebla, Pue. México
Responder Con Cita