Cambiar os Items de um Combobox, e possível?

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Adalberto
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 01 Set 2007 01:09
Localização: Santa Cruz de la Sierra - Bolivia

Cambiar os Items de um Combobox, e possível?

Mensagem por Adalberto »

Ola caros amigos do foro, boa tarde.

Gostaria poder cambiar o conteúdo De um COMBOBOX (items) quando o programa esta em execução, e possível isso? Se os senhores sabem como, por favor, me ajudem.

Muito obrigado
Adalberto
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 01 Set 2007 01:09
Localização: Santa Cruz de la Sierra - Bolivia

Cambiar os Items de um Combobox, e possível?

Mensagem por Adalberto »

Óla amigos e amigas

Com ajuda de amigos de outro foro consegui solução para este problema, foi assim:
Deletando os item com deleteallitems e carregando os novos items com additem (métodos do control ComboboxEx).

Muito brigado a eles e a vocês também.

Abraços
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Cambiar os Items de um Combobox, e possível?

Mensagem por Pablo César »

Puxa interessante ! Obrigado Adalberto por compartilhar conosco.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
rossine
Usuário Nível 3
Usuário Nível 3
Mensagens: 325
Registrado em: 06 Ago 2007 09:57
Localização: Divinópolis-MG

Cambiar os Items de um Combobox, e possível?

Mensagem por rossine »

Boa noite pessoal,

Eu uso duas funçoes aqui: Uma que retorna os itens e outra para setar novos valores. Me lembro que montei ela quando estava começando a usar a minigui, então, as vezes pode-se ter soluções mais simples,

Código: Selecionar todos


*******************
function ComboItens( cWnd, cCbx )
*******************
local idx
local aItens := { }, n, t

try
  idx := GetControlIndex( cCbx, cWnd )
catch
  idx := 0
end

if Idx > 0
   t := getproperty( cWnd, cCbx, "ItemCount" )
   for n = 1 to t
       aadd( aItens, getproperty( cWnd, cCbx, "Item", n ) )
   next
else
   msgstop( "Campo não existe [" + cWnd + "." + cCbx + "]. Verifique !!!", "Erro" )
endif

return aItens

**********************
function SetComboItens( cWnd, cCbx, aItens, nAt )
**********************

local idx, n

DEFAULT nAt := 1

try
  idx := GetControlIndex( cCbx, cWnd )
catch
  idx := 0
end

if Idx > 0
   domethod( cWnd, cCbx, "DeleteAllItems" )
   for n = 1 to len(aItens)
       domethod( cWnd, cCbx, "AddItem", aItens[n] )
   next
   setproperty( cWnd, cCbx, "value", nAt )
else
   msgstop( "Campo não existe [" + cWnd + "." + cCbx + "]. Verifique !!!", "Erro" )
endif

return aItens

Bom é isto aí, se alguém melhorar estas funções ou tiver outras mais eficientes, favor compartilhem conosco ok ?

Abraços,

Rossine.
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
Responder