Esmaecer botão

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

Ardente07
Posts: 5
Joined: 23 Apr 2019, 14:35

Esmaecer botão

04 Jul 2019, 12:44

Estou criando uma interface gráfica para facilitar o uso de outras pessoas ao meu script, porém me deparei com dois problemas, não consigo criar um botão esmaecido (aquele que não faz nada e não da nem pra clicar) e nem criar uma caixinha de seleção para que o software alterne entre modo manual e modo automático (com botões esmaecidos).

Code: Select all

Gui, Add, Button, x20 y60 gTabela Default, Tabela
Gui, Add, Button, x43 y20 gAbrirChassis, Abrir Chassi
Gui, Add, Button, x90 y60 gLimpar, Limpar
Gui, Add, Text, x190 y20, Nº Clientes:
Gui, Add, Edit, x190 y40 w80 vCount 
Gui, Add, Button, x190 y70 gProvisionar, Provisionar
Gui, Add, Button, x55 y100 gCorrigir, Corrigir
Gui, Show, w290 h140, Provisionar vTeste
Return

GuiClose: 
ExitApp
Return

Corrigir:

Return

AbrirChassis:

Return

Tabela:

Return

Limpar:

Return

Provisionar:

Return
Os botões que quero esmaecer no modo automático (que é o modo com a caixinha off), são os botões corrigir e limpar.

Desde já agradeço e espero contar com vocês nesse pequeno problema. :)
Last edited by Ardente07 on 08 Jul 2019, 13:32, edited 2 times in total.
User avatar
Gio
Posts: 1248
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Esmaecer botão

04 Jul 2019, 16:36

Boa tarde Ardente07.

Se entendi o que você quiz dizer, o código abaixo deve responder sua dúvida.

Neste exemplo são 4 botões: 1 habilitado por padrão, 1 desabilitado por padrão (veja como nas opções do comando de adição do botão), 1 que habilita o botão desabilitado, e 1 que desabilita novamente o botão (se tiver sido habilitado). Veja que os botões de habilitar/desabilitar fazem o seu trabalho através do comando GuiControl utilizado na g-label deles.

Code: Select all

gui, add, button, x150 y150 gCLICOU, HABILITADO
gui, add, button, x150 y200 gCLICOU disabled, DESABILITADO
Gui, add, button, x100 y250 gHABILITAR, Habilitar
Gui, add, button, x200 y250 gDESABILITAR, Desabilitar
gui, show, w400 h300
return


HABILITAR:
GuiControl, Enable, Button2
Return


DESABILITAR:
GuiControl, Disable, Button2
Return

CLICOU:
msgbox % "Clicou neste botao!"
Return
:arrow: Veja que o comando GuiControl precisa de um parâmetro que vai dizer qual o controle com o qual você quer interagir. No caso do exemplo acima, eu indiquei o segundo botão da tela. Isto foi feito usando o ClassNN, que é o nome do controle (Button), seguido da ordem de criação do botão naquela tela (o botão desabilitado foi o segundo a ser criado, portanto seu classNN é Button2).

:arrow: DICA: Para verificar o classNN de um botão ou outro controle qualquer em uma janela, você também pode usar o Window Spy, que é uma ferramenta embutida no próprio autohotkey. Para acessá-lo, execute um script de AutoHotkey qualquer e depois clique com o botão direito no ícone de H verde que fica na bandeja do tray (aquela no canto inferior-direito da tela. As vezes para ver o ícone você deve clicar em uma seta ou triangulo que fica lá, para exibir os ícones escondidos.). Você verá uma opção "Window Spy".

Para usar o Window Spy, basta abrir ele, e depois colocar o mouse encima do botão ou outro controle ao qual você deseja obter o classNN. Assim que o mouse estiver encima do controle, o classNN será exibido na janela do Window Spy (mais ou menos pelo meio dela).

Espero ter ajudado, se ainda tiver dúvida pode postar abaixo :thumbup:
Ardente07
Posts: 5
Joined: 23 Apr 2019, 14:35

Re: Esmaecer botão

08 Jul 2019, 13:35

Gio wrote:
04 Jul 2019, 16:36
Boa tarde Ardente07.

Se entendi o que você quiz dizer, o código abaixo deve responder sua dúvida.

Neste exemplo são 4 botões: 1 habilitado por padrão, 1 desabilitado por padrão (veja como nas opções do comando de adição do botão), 1 que habilita o botão desabilitado, e 1 que desabilita novamente o botão (se tiver sido habilitado). Veja que os botões de habilitar/desabilitar fazem o seu trabalho através do comando GuiControl utilizado na g-label deles.

Code: Select all

gui, add, button, x150 y150 gCLICOU, HABILITADO
gui, add, button, x150 y200 gCLICOU disabled, DESABILITADO
Gui, add, button, x100 y250 gHABILITAR, Habilitar
Gui, add, button, x200 y250 gDESABILITAR, Desabilitar
gui, show, w400 h300
return


HABILITAR:
GuiControl, Enable, Button2
Return


DESABILITAR:
GuiControl, Disable, Button2
Return

CLICOU:
msgbox % "Clicou neste botao!"
Return
:arrow: Veja que o comando GuiControl precisa de um parâmetro que vai dizer qual o controle com o qual você quer interagir. No caso do exemplo acima, eu indiquei o segundo botão da tela. Isto foi feito usando o ClassNN, que é o nome do controle (Button), seguido da ordem de criação do botão naquela tela (o botão desabilitado foi o segundo a ser criado, portanto seu classNN é Button2).

:arrow: DICA: Para verificar o classNN de um botão ou outro controle qualquer em uma janela, você também pode usar o Window Spy, que é uma ferramenta embutida no próprio autohotkey. Para acessá-lo, execute um script de AutoHotkey qualquer e depois clique com o botão direito no ícone de H verde que fica na bandeja do tray (aquela no canto inferior-direito da tela. As vezes para ver o ícone você deve clicar em uma seta ou triangulo que fica lá, para exibir os ícones escondidos.). Você verá uma opção "Window Spy".

Para usar o Window Spy, basta abrir ele, e depois colocar o mouse encima do botão ou outro controle ao qual você deseja obter o classNN. Assim que o mouse estiver encima do controle, o classNN será exibido na janela do Window Spy (mais ou menos pelo meio dela).

Espero ter ajudado, se ainda tiver dúvida pode postar abaixo :thumbup:
Obrigado pela ajuda, eu ia pedir ajuda com a caixa de seleção mas dei uma pesquisada aqui, e somado a dica que você me deu consegui resolver o problema.

Code: Select all

Gui, Add, Button, x190 y70 gProvisionar Default, Provisionar
Gui, Add, Button, x20 y60 gTabela, Tabela
Gui, Add, Button, x43 y20 gAbrirChassis, Abrir Chassi
Gui, Add, Button, x90 y60 gLimpar, Limpar
Gui, Add, Text, x190 y20, Nº Clientes:
Gui, Add, Edit, x190 y40 w80 vCount
Gui, Add, Button, x55 y100 gCorrigir, Corrigir
Gui, Add, Checkbox,x190 y110 vCheck gManual, Manual
Gui, Show, w290 h140, Provisionar vTeste
Return

GuiClose: 
ExitApp
Return

Corrigir:

Return

AbrirChassis:

Return

Tabela:

Return

Limpar:

Return

Provisionar:

Return

Manual:
Gui, Submit, NoHide
If(Check=1)
{
	GuiControl, Enable, Button4
	GuiControl, Enable, Button5
}
Else
{
	GuiControl, Disabled, Button4
	GuiControl, Disabled, Button5
}
Return
Obrigado pela força, ajudou muito. :)

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 16 guests