Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Criando um TComboBox...


robinhocne

Pergunta

estou criando um Combobox, mas não estou sabendo colocar os itens dentro dele na hora da criação e tbém queria que quando ele estive focado já abrisse ele, estou criando ele assim:

for i:= 1 to par do
begin
       // criando os combobox ( tipos de pagamentos )
      TipoPg  := TComboBox.Create(Self);
        with TipoPg do
          begin
            Name       := 'Tip'+ inttostr(i);
            Left       := 97;
            Height     := 20;
            Width      := 156;
            AutoSize   := false;
            Text       := 'TIPO DE PAGAMENTO';
            top        := -19+(i*20);
            Font.Style := [fsbold];
            Parent     := Grade;
          end;
end;

alguém poderia me ajudar ?

Editado por robinhocne
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

estou criando um Combobox, mas não estou sabendo colocar os itens dentro dele na hora da criação e tbém queria que quando ele estive focado já abrisse ele, estou criando ele assim:

for i:= 1 to par do

begin

// criando os combobox ( tipos de pagamentos )

TipoPg := TComboBox.Create(Self);

with TipoPg do

begin

Name := 'Tip'+ inttostr(i);

Left := 97;

Height := 20;

Width := 156;

AutoSize := false;

Text := 'TIPO DE PAGAMENTO';

top := -19+(i*20);

Font.Style := [fsbold];

Parent := Grade;

end;

end;

Robinho ... primeiro erro

for i:= 1 to par do

begin

// criando os combobox ( tipos de pagamentos )

TipoPg := TComboBox.Create(Self);

with TipoPg do

begin

Name := 'Tip'+ inttostr(i);

OBS: Voce não conseguira criar mais de um componente se não hover alguma diferença no nome

exemplo:

TipoPg1

TipoPg2

TipoPg3

no seu caso ele esta criando apenas como TipoPg , e por isso dará erro que o componente já existe e não pode ser criado novamente

não estou sabendo colocar os itens dentro dele na hora da criação

Voce pode colocar os itens depois que for criado

e tbém queria que quando ele estive focado já abrisse ele,

é so colocar este codigo no evento OnEnter do Combobox

procedure TForm1.ComboBox1Enter(Sender: TObject);
begin
   ComboBox1.Text := ComboBox1.Items.Strings[0];
   SendMessage(ComboBox1.Handle, CB_SHOWDROPDOWN, 1, 0);
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

estou criando um Combobox, mas não estou sabendo colocar os itens dentro dele na hora da criação e tbém queria que quando ele estive focado já abrisse ele, estou criando ele assim:

for i:= 1 to par do

begin

// criando os combobox ( tipos de pagamentos )

TipoPg := TComboBox.Create(Self);

with TipoPg do

begin

Name := 'Tip'+ inttostr(i);

Left := 97;

Height := 20;

Width := 156;

AutoSize := false;

Text := 'TIPO DE PAGAMENTO';

top := -19+(i*20);

Font.Style := [fsbold];

Parent := Grade;

end;

end;

Robinho ... primeiro erro

for i:= 1 to par do

begin

// criando os combobox ( tipos de pagamentos )

TipoPg := TComboBox.Create(Self);

with TipoPg do

begin

Name := 'Tip'+ inttostr(i);

OBS: Voce não conseguira criar mais de um componente se não hover alguma diferença no nome

exemplo:

TipoPg1

TipoPg2

TipoPg3

no seu caso ele esta criando apenas como TipoPg , e por isso dará erro que o componente já existe e não pode ser criado novamente

não estou sabendo colocar os itens dentro dele na hora da criação

Voce pode colocar os itens depois que for criado

e tbém queria que quando ele estive focado já abrisse ele,

é so colocar este codigo no evento OnEnter do Combobox

procedure TForm1.ComboBox1Enter(Sender: TObject);
begin
   ComboBox1.Text := ComboBox1.Items.Strings[0];
   SendMessage(ComboBox1.Handle, CB_SHOWDROPDOWN, 1, 0);
end;
abraço
Ok, consegui resolver, fiz dessa maneira, pois em cada codição que eu coloquei eu preciso de um tipo de pagamento
procedure TFrmFaturar.MostraTiposdePagamentos(Sender: TObject);
begin
  if TEdit ( FindComponent ( 'Desc' + IntToStr( ContTip ) ) ).Text = 'Á VISTA' then
    begin
      TComboBox ( FindComponent ( 'Tip' + IntToStr ( ContTip ) ) ).Items.Add('DINHEIRO');
      TComboBox ( FindComponent ( 'Tip' + IntToStr ( ContTip ) ) ).Items.Add('CHEQUE');
      TComboBox ( FindComponent ( 'Tip' + IntToStr ( ContTip ) ) ).ItemIndex := 0;
    end;
  if TEdit ( FindComponent ( 'Desc' + IntToStr( ContTip ) ) ).Text = 'ENTRADA' then
    begin
      TComboBox ( FindComponent ( 'Tip' + IntToStr ( ContTip ) ) ).Items.Add('DINHEIRO');
      TComboBox ( FindComponent ( 'Tip' + IntToStr ( ContTip ) ) ).Items.Add('CHEQUE');
      TComboBox ( FindComponent ( 'Tip' + IntToStr ( ContTip ) ) ).ItemIndex := 0;
    end
    else
  if TEdit ( FindComponent ( 'Desc' + IntToStr( ContTip ) ) ).Text = 'PARCELA' then
    begin
      TComboBox ( FindComponent ( 'Tip' + IntToStr ( ContTip ) ) ).Items.Add('CHEQUE');
      TComboBox ( FindComponent ( 'Tip' + IntToStr ( ContTip ) ) ).Items.Add('PROMISSÓRIA');
      TComboBox ( FindComponent ( 'Tip' + IntToStr ( ContTip ) ) ).ItemIndex := 0;
    end;

  TComboBox ( FindComponent ( 'Tip' + IntToStr ( ContTip ) ) ).DroppedDown := True;
  ContTip := ContTip + 1;
end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...