Bom dia;

Algo assim??? (pelo que entendi vai precisar adaptações.... mas pelo exemplo 
vai conseguir na boa)

 TComboBox = class(StdCtrls.TComboBox)
  private
    FValues : TStringList;
    function GetSelected : Integer;
    procedure SetSelected(const Value : Integer);
  public
    constructor Create(AOwner : TComponent); override;
    destructor Destroy; override;

    procedure AddItem(Descricao : string; Codigo : Integer);
    property Selected : Integer read GetSelected Write SetSelected;
  end;

..................

{ TComboBox }
procedure TComboBox.AddItem(Descricao: string; Codigo: Integer);
begin
  Items.Add(Descricao);
  FValues.Add(IntToStr(Codigo));
end;

constructor TComboBox.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FValues := TStringList.Create;
end;

destructor TComboBox.Destroy;
begin
  FValues.Free;
  inherited Destroy;
end;

function TComboBox.GetSelected: Integer;
begin
  Result := StrToInt(FValues.Strings[Self.ItemIndex]);
end;

procedure TComboBox.SetSelected(const Value: Integer);
begin
  Self. ItemIndex := 0;
  if Value >= 0 then
    Self.ItemIndex := FValues.IndexOf( IntToStr(Value));
end;



________________________________
De: EmbarcaDelphi <embarcadel...@yahoo.com.br>
Para: delphi-br@yahoogrupos.com.br
Enviadas: Sábado, 30 de Janeiro de 2010 2:06:05
Assunto: [delphi-br] Fazer um componente derivado de TListBox

  
Olá, alguém que manja em criar componentes, dá uma ajuda aqui...

"Não usa Banco de Dados"

Quero criar um componente derivado de um TListBox. A diferença seja que 
ele tenha um outro campo denominado "Value".
Este campo "Value" seja indexado pelo valor "Items" do TListBox.
No campo "Value" será colocado o path e o nome de arquivos e não será 
visível no componente.
Tentei procurar um componente assim e não encontrei, nem no JEDI.

Grato, abaixo está o esqueleto padrão:

------------ --------- --------- --------- --------- --------- -
unit ItemsListBox;

interface

uses
SysUtils, Classes, Controls, StdCtrls;

type
TItemsListBox = class(TListBox)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents( 'Additional' , [TItemsListBox] );
end;

end.


 


      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a