Como o campo criado por este tComboBox não permite digitar nada, eu o chamo de Listbox.
Segue um exemplo, de como fazer listbox usando ADVPL:
static function MinhaCombo()
local nRBachou, aRBfil:={}, aRBfil2:={}
private oDiag01, cCodfil, cOz4Cod
@ 0, 0 to 300, 480 dialog oDiag01 title "Exemplo de Listbox"
@ 5, 5 say "Filial:"
dbselectarea("OZ4")
OZ4->(dbgotop())
do while .not. OZ4->(eof())
nRBachou := aScan(aRBfil2, OZ4->OZ4_CODIGO)
if nRBachou = 0
aadd(aRBfil2, OZ4->OZ4_CODIGO +" "+ OZ4->OZ4_DESC)
endif
OZ4->(dbskip())
enddo
aRBfil := asort(aRBfil2)
cOz4Cod := aRBfil[1]
oCombo := tComboBox():new(5,60,{|u|if(pcount()>0,cOz4Cod:=u,cOz4Cod)},aRBfil,100,20,oDiag01,,{||fRBaltera(cOz4Cod)},,,,.t.,oFont,,,,,,,,"cOz4Cod")
@125,35 button "Sair" size 25,10 action close(oDiag01)
activate dialog oDiag01 centered
return nil
static function fRBaltera(cOz4Cod)
cCodfil := cOz4Cod
return nil
Comentários
Postar um comentário