Classe: TComboBoxCria 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. CreateMé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 Nome | Tipo | Descrição | Obrigatório | Referência | oWnd | Objeto | Indica a janela ou controle visual onde o objeto será criado. | | | bSetGet | Bloco de código | Indica 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. | | | nRow | Numérico | Indica a coordenada vertical em pixels ou caracteres. | | | nCol | Numérico | Indica a coordenada horizontal em pixels ou caracteres. | | | aItems | Vetor | Indica 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"}). | | | nWidth | Vetor | Indica a largura do controle em pixels. | | | nHeight | Numérico | Indica Este parâmetro foi mantido apenas para compatibilidade, para definir a altura do controle em pixelscomponente utilize o método SetHeight descrito também neste documento. | | | uParam8 | Numérico | Compatibilidade | | | bChange | Bloco de código | Indica o bloco de código que será executado ao mudar o item selecionado. | | | bValid | Bloco de código | Indica 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.). | | | nClrText | Numérico | Indica a cor de texto do objeto. | | | nClrBack | Numérico | Indica a cor de fundo objeto. | | | lPixel | Lógico | Indica se considera as coordenadas passadas em pixels (.T.) ou caracteres (.F.). | | | oFont | Objeto | Indica o objeto do tipo TFont utilizado para definir as características da fonte aplicada na exibição do conteúdo do controle visual. | | | uParam15 | Caracter | Compatibilidade. | | | uParam16 | Lógico | Compatibilidade. | | | bWhen | Bloco de código | Indica 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.). | | | uParam18 | Lógico | Compatibilidade. | | | uParam19 | Array of Record | Compatibilidade. | | | uParam20 | Bloco de código | Compatibilidade. | | | uParam21 | Caracter | Compatibilidade. | | | cReadVar | Array of Record | Indica 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(). | | | cLabelText | Caractere | indica o texto que será apresentado na Label. | | | nLabelPos | Numérico | Indica a posição da label, sendo 1=Topo e 2=Esquerda | | | oLabelFont | Objeto | Indica o objeto, do tipo TFont, que será utilizado para definir as características da fonte aplicada na exibição da label. | | | nLabelColor | Numérico | Indica 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') NewMé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 Nome | Tipo | Descrição | Obrigatório | Referência | nRow | Numérico | Indica a coordenada vertical em pixels ou caracteres. | | | nCol | Numérico | Indica a coordenada horizontal em pixels ou caracteres. | | | bSetGet | Bloco de código | Indica 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. | | | nItens | Vetor | Indica 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"}). | | | nWidth | Numérico | Indica a largura em pixels do objeto. | | | nHeight | Numérico | Indica a altura em pixels do objeto. | | | oWnd | Objeto | Indica a janela ou controle visual onde o objeto será criado. | | | uParam8 | Numérico | Compatibilidade. | | | bChange | Bloco de código | Indica o bloco de código que será executado quando o item selecionado é alterado. | | | bValid | Bloco de código | Indica 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.). | | | nClrBack | Numérico | Indica a cor de fundo do objeto. | | | nClrText | Numérico | Indica a cor de texto do objeto. | | | lPixel | Lógico | Indica se considera as coordenadas passadas em pixels (.T.) ou caracteres (.F.). | | | oFont | Objeto | Indica o objeto do tipo TFont utilizado para definir as características da fonte aplicada na exibição do conteúdo do controle visual. | | | uParam15 | Caracter | Compatibilidade. | | | uParam16 | Lógico | Compatibilidade. | | | bWhen | Bloco de código | Indica 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.). | | | uParam18 | Lógico | Compatibilidade. | | | uParam19 | Array of Record | Compatibilidade. | | | uParam20 | Bloco de código | Compatibilidade. | | | uParam21 | Caracter | Compatibilidade. | | | cReadVar | Caracter | Indica 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(). | | | cLabelText | Caractere | indica o texto que será apresentado na Label. | | | nLabelPos | Numérico | Indica a posição da label, sendo 1=Topo e 2=Esquerda | | | oLabelFont | Objeto | Indica o objeto, do tipo TFont, que será utilizado para definir as características da fonte aplicada na exibição da label. | | | nLabelColor | Numérico | Indica 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') SelectAltera o item selecionado, da caixa de seleção, e executa o bloco de código <bChange> definido para o objeto.TComboBox(): Select ( [ nItem] ) --> Nome | Tipo | Descrição | Obrigatório | Referência | nItem | Numérico | Indica a posição do item que será selecionado. | | |
SetHeightAltera a altura do componente.TComboBox(): SetHeight ( < nHeight> ) --> Nome | Tipo | Descrição | Obrigatório | Referência | nHeight | Numérico | Altura 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. SetItemsAltera os itens da caixa de seleção (ComboBox).TComboBox(): SetItems ( < aItens> ) --> Nome | Tipo | Descrição | Obrigatório | Referência | aItens | Vetor | Indica o array que contêm novos itens para a caixa de seleção (ComboBox). | X | |
oCombo:SetItems( {"Novo Item1","Novo Item2","Novo Item3"} ) Propriedade | Descrição | Tipo | aItems | Indica 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 | nAt | Indica 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() 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 Exemplo da classe TComboBox ![](https://tdn.totvs.com/download/attachments/6063228/Mon+May+21+15%3A38%3A43+BRT+2012temp?version=1&modificationDate=1337625523874) Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server |