Página 1 de 1

limpar listbox

Enviado: 06 Ago 2020 14:23
por elaineosm
Olá!
Alguém sabe informar como limpar o conteúdo de uma listbox?

Tenho uma listbox com 4 opções e ela só fica ativa (propositalmente) se o campo opc1 for vazio..

Código: Selecionar todos

get cOpc1 valid setLista()
get lbLISTA
LISTBOX {"teste1","teste2,"teste3","teste4"} when empty(cOpc1)

//até ai td bem.

// Esta função abaixo é para apagar o conteúdo do listbox caso o campo cOpc seja preenchido.
function setLista
  if ! empty(cOpc1)
     lbLISTA = space(06)
  endif
return .t.
acontece q quando altero o conteúdo de cOpc1 para vazio, a listbox não fica em branco...

limpar listbox

Enviado: 06 Ago 2020 21:28
por Fernando queiroz

Código: Selecionar todos

LOCAL oCIDADE;
	, nI;

	DO WHILE .T.
	
		FOR nI = Len( aMunicipios ) TO 1 STEP -1
		   hb_ADel( aMunicipios, nI, .T. )
		NEXT
		IF Len(aMunicipios) <= 0
			EXIT
		ENDIF
	ENDDO
	FOR EACH oCIDADE IN SEFAZ_CIDADE
		IF oCIDADE[1] == mUF
			AAdd(aMunicipios,oCIDADE[3])
		ENDIF
	NEXT

 RETURN NIL

limpar listbox

Enviado: 06 Ago 2020 22:22
por JoséQuintas
Não sei se dá pra limpar a lista, uma vez que ela é criada na montagem dos GETs.
Em todo caso, teste com um array.

Código: Selecionar todos

LOCAL cOpc1, aOpcList := {}

@ 1, 0 get cOpc1 VALID SetLista( cOpc1, @aList )
@ 2, 0 get aList LISTBOX aOpcList when empty( cOpc1 )

function setLista( cOpc1, aList )

  if empty( cOpc1 )
      aList := {"teste1","teste2,"teste3","teste4"}
   else
     aList := {}
  endif

   return .t.

limpar listbox

Enviado: 06 Ago 2020 22:47
por JoséQuintas
Só dá certo assim, mas é até melhor, porque isola o fonte.

Código: Selecionar todos


PROCEDURE Main

   LOCAL cOpc1 := Space(3), x := Space(1), GetList := {}

   SetMode( 30, 100 )
   CLS
   @ 1, 0 GET cOpc1 VALID Check( @cOpc1 )
   @ 3, 0 GET x
   READ

   RETURN

FUNCTION Check( cOpc1 )

   LOCAL nTest := 1, GetList := {}
   LOCAL aList := { "teste1","teste2","teste3","teste4" }

   IF ! Empty( cOpc1 )
      RETURN .T.
   ENDIF
   SAVE SCREEN
   @ 2, 0, 8, 10 GET nTest LISTBOX aList 
   READ
   RESTORE SCREEN

   RETURN .T.
Muita atenção ao LOCAL GetList := {}

limpar listbox

Enviado: 06 Ago 2020 23:44
por elaineosm
Na verdade nem precisava remover os itens da lista... apenas deixar o campo em branco, ou seja, pra que no campo do arquivo o valor seja vazio.

limpar listbox

Enviado: 12 Ago 2020 14:01
por Fernando queiroz
Tem esta opção tambem


hwg_Sendmessage( ThisNFE:oCombo4:handle, CB_RESETCONTENT, 0, 0 )

limpar listbox

Enviado: 12 Ago 2020 14:37
por JoséQuintas
Fernando queiroz escreveu:Tem esta opção tambem
hwg_Sendmessage( ThisNFE:oCombo4:handle, CB_RESETCONTENT, 0, 0 )
Acho que confundiu.
O Listbox em questão é da GETSYS, console.
O que mostrou é do combox, componente do Windows (apesar do comando parecer da hwgui, é a troca de mensagens do Windows)