Raphael,
Via métodos convencionais, não é possível remover a seleção do TRadMenu
, até porque a ideia é sempre ter algo selecionado.
Talvez deixar o componente inativo (Disable
) seja uma melhor alternativa, assim fica evidente ao usuário que ele não deve selecionar nada naquele componente.
Caso queira remover a seleção sem recriar o componente, é possível fazer isso ao atribuir um valor a propriedade aItems
do componente, exemplo:
#include "protheus.ch"
//-------------------------------------------------------------------
/*/{Protheus.doc} u_myRadMenu
Exemplo de TRadMenu
@author Daniel Mendes
@since 12/06/2021
@version 1.0
/*/
//-------------------------------------------------------------------
function u_myRadMenu()
local oDlg as object
local nRadio as numeric
local aItems as array
local oRadio as object
local oBtn as object
oDlg = TDialog():New( 0, 0, 400, 400, "Exemplo TRadMenu",,,.F.,,,,,,.T.,,,,, )
nRadio := 1
aItems := {'Item01','Item02','Item03','Item04','Item05'}
oRadio := TRadMenu():New (05,05,aItems,,oDlg,,,,,,,,100,12,,,,.T.)
oRadio:bSetGet := {|u|Iif (PCount()==0,nRadio,nRadio:=u)}
oBtn := TButton():New(55, 05, "Desmarcar TRadMenu",oDlg,{||oRadio:aItems := aClone(oRadio:aItems), nRadio := 0}, 60,10,,,.F.,.T.,.F.,,.F.,,,.F. )
oDlg:Activate(,,,.T.,,,,,)
return
Veja que o botão possui um bloco de código que pega os itens do componente e atribui novamente, via aClone
, isso já faz o componente perder a seleção, também deixei o nRadio
igual a zero para que ter um melhor controle sobre a variável de seleção, mas não é necessário.
Documentação:
https://tdn.totvs.com/display/tec/TRadMenu