Página 1 de 1

checkbox disable/enable

Enviado: 17 Jun 2024 04:25
por JoséQuintas
Alguém tem como testar isto em outro ambiente?
Está salvo na hwgui.

Código: Selecionar todos

METHOD Disable() CLASS HCheckButton

   ::Super:Disable()
   //hwg_Sendmessage( ::handle, BM_SETCHECK, BST_INDETERMINATE, 0 )

   RETURN Nil

METHOD Enable() CLASS HCheckButton

   ::Super:Enable()
   //hwg_Sendmessage( ::handle, BM_SETCHECK, iif( ::lValue,1,0 ), 0 )

   RETURN Nil
No Windows 10 aqui, o modo comentado causava valor errado.
Com a alteração tudo ok.

Mas fiquei na dúvida porque estava do jeito anterior, se pode ter a ver com versão de Windows.

checkbox disable/enable

Enviado: 17 Jun 2024 08:05
por Itamar M. Lins Jr.
Olá!
No Linux é diferente.
Vai ter que criar o method enable, disable tem.
De tarde eu testo se for o caso.

Saudações,
Itamar M. Lins Jr.

checkbox disable/enable

Enviado: 17 Jun 2024 08:36
por JoséQuintas
Mexi só nessa parte do windows.
No fonte anterior estava alterando de marcado/desmarcado pra indeterminado ao desabilitar.
E voltava o valor ao habilitar.
Só que estava sempre voltando pra desmarcado.

Com a alteração, de apenas habilitar/desabilitar janela, SEM ALTERAR PRA INDETERMINADO, tudo funciona normalmente.

O mistério é porque fazia isso antes...

Porque pergunto isso?

O Windows tem o padrão dele das coisas.
Mas o padrão é diferente com e sem manifest.
Por exemplo, tem controle que só deixa alterar a cor sem manifest, já com manifest dá erro.
Não sei se esse checkbox pode estar na lista das coisas diferentes.

Não tem a ver com Linux, e não é recurso novo, é apenas correção de fonte em SOURCE\WINAPI, usado somente em Windows.

checkbox disable/enable

Enviado: 17 Jun 2024 08:44
por JoséQuintas
check1.png
check2.png
check3.png
check4.png
Estão aí as 4 situações habilitado/desabilitado, e enable/disable

Porque no fonte anterior alterava pra indeterminado antes de desativar eu não sei.
Mas causava resultado errado ao habilitar.