Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Portuguese

Pagetitle
TComboBox
TComboBox

Classe: TComboBox

Cria um objeto do tipo caixa de seleção (ComboBox).
Este controle permite a entrada de dados de múltipla escolha através dos itens definidos em uma lista vertical. Essa lista pode ser acessada ao pressionar a tecla F4 ou pelo botão à direita do controle.


TSrvObject -> TControl -> TComboBox


Create

Método construtor da classe.


TComboBox(): Create ( [ oWnd], [ bSetGet], [ nRow], [ nCol], [ aItems], [ nWidth], [ nHeight], [ uParam8], [ bChange], [ bValid], [ nClrText], [ nClrBack], [ lPixel], [ oFont], [ uParam15], [ uParam16], [ bWhen], [ uParam18], [ uParam19], [ uParam20], [ uParam21], [ cReadVar], [cLabelText] ,[nLabelPos], [oLabelFont], [nLabelColor] ) --> oObjeto


 

NomeTipoDescriçãoObrigatórioReferência
oWndObjetoIndica a janela ou controle visual onde o objeto será criado.  
bSetGetBloco de códigoIndica o bloco de código, no formato {|u| if( Pcount( )>0, := u, ) }, que será executado para atualizar a variável (essa variável deve ser do tipo caracter). Desta forma, se a lista for seqüencial, o controle atualizará com o conteúdo do item selecionado, se for indexada, será atualizada com o valor do índice do item selecionado.  
nRowNuméricoIndica a coordenada vertical em pixels ou caracteres.  
nColNuméricoIndica a coordenada horizontal em pixels ou caracteres.  
aItemsVetorIndica uma lista de itens e caracteres que serão apresentados. Essa lista pode ter os seguintes formatos: Seqüencial (Exemplo: {"item1","item2",...,"itemN"}) ou Indexada (Exemplo: {"a=item1","b=item2",...,"n=itemN"}).  
nWidthVetorIndica a largura do controle em pixels.  
nHeightNuméricoEste parâmetro foi mantido apenas para compatibilidade, para definir a altura do componente utilize o método SetHeight descrito também neste documento.  
uParam8NuméricoCompatibilidade  
bChangeBloco de códigoIndica o bloco de código que será executado ao mudar o item selecionado.  
bValidBloco de códigoIndica o bloco de código de validação que será executado quando o conteúdo do objeto for modificado. Retorna verdadeiro (.T.), se o conteúdo é válido; caso contrário, falso (.F.).  
nClrTextNuméricoIndica a cor de texto do objeto.  
nClrBackNuméricoIndica a cor de fundo objeto.  
lPixelLógicoIndica se considera as coordenadas passadas em pixels (.T.) ou caracteres (.F.).  
oFontObjetoIndica o objeto do tipo TFont utilizado para definir as características da fonte aplicada na exibição do conteúdo do controle visual.  
uParam15CaracterCompatibilidade.  
uParam16LógicoCompatibilidade.  
bWhenBloco de códigoIndica o bloco de código que será executado quando a mudança de foco da entrada de dados, na janela em que o controle foi criado, estiver sendo efetuada. Observação: O bloco de código retornará verdadeiro (.T.), se o controle permanecer habilitado; caso contrário, retornará falso (.F.).  
uParam18LógicoCompatibilidade.  
uParam19Array of RecordCompatibilidade.  
uParam20Bloco de códigoCompatibilidade.  
uParam21CaracterCompatibilidade.  
cReadVarArray of RecordIndica o nome da variável, configurada no parâmetro bSetGet, que será manipulada pelo objeto. Além disso, esse parâmetro será o retorno da função ReadVar().  
cLabelTextCaractereindica o texto que será apresentado na Label.  
nLabelPosNuméricoIndica a posição da label, sendo 1=Topo e 2=Esquerda  
oLabelFontObjetoIndica o objeto, do tipo TFont, que será utilizado para definir as características da fonte aplicada na exibição da label.  
nLabelColorNuméricoIndica a cor do texto da Label.  

 

oObjeto
    ()
  • Retorna o objeto criado.

 Em versões superiores à 120420A foi implementada a opção para definição de uma label(descrição) do componente visual. Preenchendo os parâmetros cLabelText, nLabelPos, oLabelFont e nLabelColor será disponibilizada, ao topo ou à esquerda, a descrição definida para o componente. Esta característica visa diminuir a quantidade de interações entre o SmartClient e o AppServer na construção de telas, otimizando assim este processo.

 Quando utilizada esta opção não será possível alinhar o componente, sendo a Label um objeto independente ela não será alinhada juntamente com o Controle principal, nesta situação é necessário fazer o posicionamento manualmente.

aItems:= {'Item1','Item2','Item3'}
cCombo:= aItems[1]
oCombo:= TComboBox():Create(oDlg,{|u|if(PCount()>0,cCombo:=u,cCombo)},22,02,aItems,100,20,;,{||Alert('Mudou item da combo')},,,,.T.,,,,,,,,,'cCombo')

New

Método construtor da classe.


TComboBox(): New ( [ nRow], [ nCol], [ bSetGet], [ nItens], [ nWidth], [ nHeight], [ oWnd], [ uParam8], [ bChange], [ bValid], [ nClrBack], [ nClrText], [ lPixel], [ oFont], [ uParam15], [ uParam16], [ bWhen], [ uParam18], [ uParam19], [ uParam20], [ uParam21], [ cReadVar], [cLabelText] ,[nLabelPos], [oLabelFont], [nLabelColor]  ) --> oObjeto


 

NomeTipoDescriçãoObrigatórioReferência
nRowNuméricoIndica a coordenada vertical em pixels ou caracteres.  
nColNuméricoIndica a coordenada horizontal em pixels ou caracteres.  
bSetGetBloco de códigoIndica o bloco de código, no formato {|u| if( Pcount( )>0, := u, ) }, que será executado para atualizar a variável (essa variável deve ser do tipo caracter). Desta forma, se a lista for seqüencial, o controle atualizará com o conteúdo do item selecionado, se for indexada, será atualizada com o valor do índice do item selecionado.  
nItensVetorIndica uma lista de itens e caracteres que serão apresentados. Essa lista pode ter os seguintes formatos: Seqüencial (Exemplo: {"item1","item2",...,"itemN"}) ou Indexada (Exemplo: {"a=item1","b=item2",...,"n=itemN"}).  
nWidthNuméricoIndica a largura em pixels do objeto.  
nHeightNuméricoIndica a altura em pixels do objeto.  
oWndObjetoIndica a janela ou controle visual onde o objeto será criado.  
uParam8NuméricoCompatibilidade.  
bChangeBloco de códigoIndica o bloco de código que será executado quando o item selecionado é alterado.  
bValidBloco de códigoIndica o bloco de código de validação que será executado quando o conteúdo do objeto for modificado. Retorna verdadeiro (.T.), se o conteúdo é válido; caso contrário, falso (.F.).  
nClrBackNuméricoIndica a cor de fundo do objeto.  
nClrTextNuméricoIndica a cor de texto do objeto.  
lPixelLógicoIndica se considera as coordenadas passadas em pixels (.T.) ou caracteres (.F.).  
oFontObjetoIndica o objeto do tipo TFont utilizado para definir as características da fonte aplicada na exibição do conteúdo do controle visual.  
uParam15CaracterCompatibilidade.  
uParam16LógicoCompatibilidade.  
bWhenBloco de códigoIndica o bloco de código que será executado quando a mudança de foco da entrada de dados, na janela em que o controle foi criado, estiver sendo efetuada. Observação: O bloco de código retornará verdadeiro (.T.), se o controle permanecer habilitado; caso contrário, retornará falso (.F.).  
uParam18LógicoCompatibilidade.  
uParam19Array of RecordCompatibilidade.  
uParam20Bloco de códigoCompatibilidade.  
uParam21CaracterCompatibilidade.  
cReadVarCaracterIndica o nome da variável, configurada no parâmetro bSetGet, que será manipulada pelo objeto. Além disso, esse parâmetro será o retorno da função ReadVar().  
cLabelTextCaractereindica o texto que será apresentado na Label.  
nLabelPosNuméricoIndica a posição da label, sendo 1=Topo e 2=Esquerda  
oLabelFontObjetoIndica o objeto, do tipo TFont, que será utilizado para definir as características da fonte aplicada na exibição da label.  
nLabelColorNuméricoIndica a cor do texto da Label.  

 

oObjeto
    ()
  • Retorna o objeto criado.

 Em versões superiores à 120420A foi implementada a opção para definição de uma label(descrição) do componente visual. Preenchendo os parâmetros cLabelText, nLabelPos, oLabelFont e nLabelColor será disponibilizada, ao topo ou à esquerda, a descrição definida para o componente. Esta característica visa diminuir a quantidade de interações entre o SmartClient e o AppServer na construção de telas, otimizando assim este processo.

aItems:= {'Item1','Item2','Item3'}
cCombo:= aItems[1]
oCombo := TComboBox():New(02,02,{|u|if(PCount()>0,cCombo:=u,cCombo)},; aItems,100,20,oDlg,,{||Alert('Mudou item da combo')};,,,,.T.,,,,,,,,,'cCombo')

Select

Altera o item selecionado, da caixa de seleção, e executa o bloco de código <bChange> definido para o objeto.


TComboBox(): Select ( [ nItem] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nItemNuméricoIndica a posição do item que será selecionado.  

 


 

oCombo:Select( 3 )

SetHeight

Altera a altura do componente.


TComboBox(): SetHeight ( < nHeight> ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nHeightNuméricoAltura do component.X 

 


 O componente TComboBox não permite definir sua altura no método construtor, por este motivo foi criado o método SetHeight.

Este método está disponivel em builds superiores à 120420A.

oCombo:SetHeight(50)

SetItems

Altera os itens da caixa de seleção (ComboBox).


TComboBox(): SetItems ( < aItens> ) -->


 

NomeTipoDescriçãoObrigatórioReferência
aItensVetorIndica o array que contêm novos itens para a caixa de seleção (ComboBox).X 

 


 

oCombo:SetItems( {"Novo Item1","Novo Item2","Novo Item3"} )

 

PropriedadeDescriçãoTipo
aItemsIndica uma lista de itens e caracteres que serão apresentados. Essa lista pode ter os seguintes formatos: Seqüencial (Exemplo: {"item1","item2",...,"itemN"}) ou Indexada (Exemplo:{"a=item1","b=item2",...,"n=itemN"}).Vetor
nAtIndica a posição do item selecionado.Numérico

 


A variável associada a caixa de seleção (ComboBox) pode ter o valor de um dos itens selecionados ou o índice de uma lista indexada.


#include "TOTVS.CH"
User Function TComboBox()
Bloco de código
user function exemplo()
Local aItems:= {'Item1','Item2','Item3'}  
  

DEFINE DIALOG oDlg TITLE "Exemplo TComboBox" FROM 180,180 TO 550,700 PIXEL	                 


  // Usando New    
  

cCombo1:= aItems[1]    


  oCombo1 := TComboBox():New(02,02,{|u|if(PCount()>0,cCombo1:=u,cCombo1)},; 
    aItems,100,20,oDlg,,{||Alert('Mudou item da combo')}; 
    ,,,,.T.,,,,,,,,,'cCombo1')


  // Usando Create    


  cCombo2:= aItems[2]    


  oCombo2 :=  TComboBox():Create(oDlg,{|u|if(PCount()>0,cCombo2:=u,cCombo2)},22,02,; 
    aItems,100,20,,{||Alert('Mudou item da combo')},,,,.T.,; 
    ,,,,,,,,'cCombo2')


  ACTIVATE DIALOG oDlg CENTERED
Return

return

Exemplo da classe TComboBox

Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server