Tamanho do TRadMenu

Bom dia,

Estamos usando um monitor touch nas bancadas de separação de pedidos e em algum momentos precisamos selecionar o modo de operação. Atualmente usamos um TRadMenu para isso.

O problema é o tamanho dele, acaba ficando difícil para selecionar com o touch. Não encontrei na documentação uma forma de aumentar o tamanho dos itens, apenas do menu completo.

Alguém tem ideia se é possível alterar? Ou alguma outra classe com o mesmo comportamento de seleção única?

TRadMenu https://tdn.totvs.com/display/tec/TRadMenu

Gabriel,

Usando apenas as propriedades nativas do componente TRadMenu você não consegue aumentar o tamanho dos itens.

Uma opção é tentar customizar o CSS, utilizando o método SetCss:


oRadio := TRadMenu():New (01, 01, aItems, {|u| Iif(PCount()==0, nRadio, nRadio:=u)}, oDlg,,,,,,,, 100, 12,,,, .T.)

/*
Exemplos:
TRadioButtonItem::indicator::checked { image: url(minhaImagemMarcado.png); }
TRadioButtonItem::indicator::unchecked { image: url(rpo:minhaImagemNaoMarcado.png); }
TRadioButtonItem { spacing: 7px }
*/

oRadio:setCss("TRadioButtonItem {}")

O CSS pode ter diferença entre o uso em SmartClient QT e WEB, portanto seria necessário efetuar alguns testes e talvez proteger conforme o tipo de SmartClient utilizado, para isso você poderia usar a função GetRemoteType.

Outra opção, seria você não usar o TRadMenu... E criar um comportamento igual utilizando TButton, TPanel, enfim, algum componente visual de fácil expansão.

Por fim, você pode alterar essa tela para ser uma tela totalmente WEB e abrir ela usando o TWebEngine ou FWCallApp, pois o HTML e CSS lhe proporcionaram uma vasta possibilidade de customização de interface. Dentro dessa opção, você também pode criar somente o Radio Menu dentro do HTML e instanciar o TWebEngine dentro de um pequeno TPanel.

Obrigado Daniel! O setCSS já resolve o problema. Bastou aumentar a fonte do componente e já ficou mais simples. E obrigado pelas outras dicas, vou avaliar para os próximos desenvolvimentos!