retirar scrollbar

Tire suas dúvidas sobre programação em AutoHotkey
Amanda
Posts: 7
Joined: 16 May 2018, 11:01

retirar scrollbar

04 Nov 2018, 10:54

Oi, depois de algumas pesquisas na internet consegui montar um script simples para retirar as bordas e o título da janela

Code: Select all

^i::
WinSet, Style, -0xc40000, A
return
^u::
WinSet, Style, +0xc40000, A
return
Minha primeira dúvida é sobre o comando, como dá para perceber o Ctrl+i desaparece com as bordas já o Ctrl+u volta com elas, tem como deixar somente um comando? Tipo teclo Ctrl+i some as bordas depois teclo de novo ela aparece novamente sem a necessidade de outro comando como Ctrl+u como no script que fiz, é que eu não sei deixar apenas um comando, todas as minhas tentativas deu erro de duplicate hotkey

Image

Não que a pergunta acima não seja importante, mas esta próxima é que me trouxe até aqui, não consegui implementar um comando que retire a barra de rolagem (scrollbar) e quero muito fazer isso, claro como no exemplo acima quero um jeito de apenas uma combinação de teclas retirar e voltar com a barra de rolagem, apesar da imagem ilustrativa ser do Bloco de Notas, quero criar um script que suma com scrollbar de todas as janelas de todos os programas que o comando for ativado
User avatar
Gio
Posts: 488
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: retirar scrollbar

05 Nov 2018, 14:32

Bom dia Amanda.

Você pode usar uma variável e condicionais para simular o estado atual.

Code: Select all

^i::
If (Estado_Atual = 1)
{
	Estado_Atual := 0
	WinSet, Style, +0xc40000, A
}
Else
{
	WinSet, Style, -0xc40000, A
	Estado_Atual := 1
}
Basicamente o código acima verifica o conteúdo da variável Estado_Atual e implementa uma ação correspondente (entre duas possíveis). Depois disso, ele altera o conteúdo da variável Estado_Atual, de modo que na próxima vez que a hotkey for chamada, a ação correspondente será a outra. E vice-versa.
quero criar um script que suma com scrollbar de todas as janelas de todos os programas que o comando for ativado
Existem alguns comandos para remover o scrollbar de uma janela ou controle, mas acho que remover todos os scrollbars de todas as janelas vai ser algo bem trabalhoso de fazer com sucesso. Nem toda implementação de scrollbar é igual, até no browser tem scrollbar. Além disso as janelas e controles muitas vezes rodam códigos que recriam o scrollbar conforme o usuário faz alguma coisa como interagir com a área dele ou então apertar enter após a última linha visível, etc.

Abaixo tem um exemplo de código que usa os comandos WinSet e Control para remover o scrollbar de uma janela do bloco de notas. Ele funciona abrindo o bloco de notas, esperando 2 segundos e depois mandando o scrollbar vertical pro espaço. Ocorre que se você tentar interagir com o scrollbar, ele é recriado pelo programa. Se quiser, pode apertar F2 para destruir ele de novo, mas se tentar interagir de novo... já sabe. As vezes ele também buga se ficar fazendo isso, apresentando uma barrona só. Bizarro :lolno:

Code: Select all

run notepad.exe
winwaitactive, Sem título - Bloco de notas
Sleep 2000
Control, Style, -0x200000, Edit1, Sem título - Bloco de notas
WinSet, Style, -0x200000, Sem título - Bloco de notas
WinSet, Redraw,, Sem título - Bloco de notas
Return


f2::
WinSet, Style, -0x200000, Sem título - Bloco de notas
WinSet, Redraw,, Sem título - Bloco de notas
Se for uma janela própria é bem mais fácil, afinal, você tem o controle total :thumbup:
"What is suitable automation? Whatever saves your day for the greater matters."
Barcoder - Create QR Codes and other Barcodes using only Autohotkey !!
Amanda
Posts: 7
Joined: 16 May 2018, 11:01

Re: retirar scrollbar

06 Nov 2018, 10:47

Obrigada, deu super certo essa incrementação no primeiro código Ctrl+i vou usar esse aprendizado em outros scripts, já em relação ao scrollbar eu tô com mais interesse de retirar do Notepad++, acho que se eu conseguir remover a barra de rolagem dele eu pego o macete e faço nos outros sozinha, eu substituí as menções “Sem título - Bloco de notas” que haviam no script que vc criou pelo Notepad++ e assim já abriu direto no Notepad++ só que a barra de rolagem não sumiu

Image

Antes de perguntar aqui no fórum do ahk eu achei num outro fórum da internet alguém com a mesma dúvida que eu, um cara respondeu com um código do ahk e inclusive postou imagens do Notepad++ supostamente sem o scrollbar depois desse código, mas num tá funcionando é nada pelo menos não do jeito que ele compartilhou não surte nenhum efeito
User avatar
juanmuscaria
Posts: 56
Joined: 29 Oct 2017, 10:53
GitHub: juanmuscaria
Location: Brazil
Contact:

Re: retirar scrollbar

17 Nov 2018, 18:48

Nesse fórum que você pegou o script tem uma nota:
NOTE:
Works for Notepad++ v6.9.1. If this doesn't work for your version, use AutoIt3 Window Spy program that is installed along with AutoHotkey to find the correct ClassNN value for the control you're trying to hide.

For example, on older versions, you may need to change Button3 to Button4 and Scintilla2 to Scintilla3
Tenta isso ai que ele fala.

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 3 guests