Página 1 de 1
Setar RadioGroup para Nil
Enviado: 15 Set 2008 08:37
por mbrigatti
Pessoal,
Alguém ai sabe se é possível setar em tempo de execução o valor de um Radiogroup para NIL ?
Tem como ?
Saudações,
Marcelo Brigatti
IES - Informática e Sistemas
Re: Setar RadioGroup para Nil
Enviado: 15 Set 2008 14:30
por Toledo
Marcelo, acho que não tem como fazer isto sem alterar a função _SETVALUE() da MiniGui, pois quando você tenta alterar o valor do RadioGroup, para 0 (zero) ou Nulo, a função _SETVALUE() tenta encontrar o valor correspondente dentro da matriz de opções, ai como 0 ou Nulo nao existe na matriz vai retornar um erro de array access.
O jeito seria alterar a função _SETVALUE() e verificar se o valor passado é 0 (zero). Se for zero, então não deixa a função procurar este valor na matriz, evitando assim o erro.
A função _SETVALUE() está dentro do arquivo H_CONTROLMISC.PRG que está na pasta \SOURCE da MiniGui. Dentro da função _SETVALUE() procure por RADIOGROUP e altere o seu código para:
Código: Selecionar todos
case T == "RADIOGROUP"
for x = 1 to len (c)
SendMessage( c[x] , BM_SETCHECK , BST_UNCHECKED , 0 )
next x
if value <> 0
SendMessage( c[value] , BM_SETCHECK , BST_CHECKED , 0 )
if _HMG_SYSDATA [ 25 ] [ix] == .F. .and. IsTabStop( c[value] )
SetTabStop( c[value] , .f. )
endif
endif
Atenção: eu não testei, então por segurança antes de compilar faça uma cópia da sua MINIGUI.LIB e do arquivo H_CONTROLMISC.PRG.
Depois para fazer um teste, basta tentar alterar o valor do RadioGroup:
Form_1.Radio_1.Value := 0
Abraços,
Re: Setar RadioGroup para Nil
Enviado: 03 Out 2008 11:57
por mbrigatti
Toledo,
Somente agora fui testar sua idéia e, DEU CERTO ! :)Pos
Muito obrigado, vou passar a sugestão para o Filatov.
Saudações,
Marcelo Brigatti
IES - Informática e Sistemas
Re: Setar RadioGroup para Nil
Enviado: 03 Out 2008 13:00
por mbrigatti
Toledo,
Só para finalizar, corrigi a sugestão para:
Código: Selecionar todos
case T == "RADIOGROUP"
for x = 1 to len (c)
SendMessage( c[x] , BM_SETCHECK , BST_UNCHECKED , 0 )
next x
If !empty( value ) // alterado aqui
if value <> 0
SendMessage( c[value] , BM_SETCHECK , BST_CHECKED , 0 )
if _HMG_aControlPicture [ix] == .F. .and. IsTabStop( c[value] ) // alterado aqui
SetTabStop( c[value] , .f. )
endif
endif
endif
Saudações,
Marcelo Brigatti
--------------------------
Nota de Moderação: a mensagem foi editada para colocar a tag [ code ] no exemplo acima.
Re: Setar RadioGroup para Nil
Enviado: 04 Out 2008 08:58
por Itamar M. Lins Jr.
Espero que os senhores entendam e separe no forum as bibliotecas novamente, pois o tópico Setar RadioGruop...
Esta se referindo a qual LIB ?
Como irei advinhar que ele usa Minigui ?
Saudações
Itamar M. Lins Jr.
Re: Setar RadioGroup para Nil
Enviado: 04 Out 2008 10:03
por mbrigatti
O Itamar, se acalma ai, eu tinha postado no fórum da minigui, não tinha visto ainda que mudou a estrutura, mas não se ofenda, próxima vez já vi que tem um tópico MINIGUI, postarei lá daqui em diante.
Saudações,
Marcelo Brigatti
Re: Setar RadioGroup para Nil
Enviado: 04 Out 2008 10:11
por Itamar M. Lins Jr.
Não é isso não que vc esta pensando.
Não me referi ao seu post. Estou me referindo a atitude de juntar todas as Libs em um lugar só.
Nada pessoal a nenhum dos senhores.
Saudações
Itamar M. Lins Jr.
Re: Setar RadioGroup para Nil
Enviado: 04 Out 2008 20:09
por Maligno
Basta o OP indicar qual biblioteca está usando. Simples.
Re: Setar RadioGroup para Nil
Enviado: 08 Out 2008 11:23
por mbrigatti
Toledo e demais que acompanharam o post,
O Filatov acatou a sugestão e já disponibilizou-a no build 1.5.57c (beta) da Minigui Extended
Encerrando Tópico
Saudações,
Marcelo Brigatti
Setar RadioGroup para Nil
Enviado: 08 Jan 2022 19:51
por WALDYR SKUYA
Boa noite amigos!
Peço a ajuda dos amigos no sentido de saber se a mudança indicada pelo Toledo poderia ser feita também na função _SETVALUE() da HMG Oficial, do Roberto Lopes?
Grato,
Waldyr Skuya
São Paulo - SP