imagem da GUI

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

Moderator: Gio

gaby1337
Posts: 26
Joined: 07 Jan 2020, 19:26

imagem da GUI

05 Aug 2020, 16:13

alguém sabe se tem como alterar a imagem da GUI mesmo depois de ela já estar ativa? ou se tem como colocar um vídeo ou um gif no lugar de apenas uma imagem fixa

eu não consegui mudar a imagem após o comando [docs]Gui, show[/docs], então creio que não seja possível mas será que dá pra colocar um gif ou um vídeo?
garry
Posts: 2399
Joined: 22 Dec 2013, 12:50

Re: imagem da GUI

06 Aug 2020, 06:57

VIDEO PLAY com VLC.exe ( videolan )

Code: Select all

#warn
#noenv
setworkingdir,%a_scriptdir%
xxe =VideoLAN.VLCPlugin.2
C2:="C:\test.mp4"
 stringreplace,C2,C2,\,/,all
            C2:="file:///" . C2
Gui,1:default
Gui, Margin, 0, 0
Gui, Add, ActiveX, x0 y0 w600 h400 vVLCx,%xxe%
GuiControlGet, pos, Pos, VLCx
Gui, Add, Button, gplay w50 h50, Play
Gui, Add, Button, gpause xm50 y%posH%  w50 h50, Pause
Gui, Add, Button, gstop  x100 ym%posH% w50 h50, Stop
Gui, Show
VLCx.playlist.add(C2)
gosub,play
Return
;-----------------
GuiClose:
ExitApp
;-----------------
Play:
VLCx.playlist.play()
Return
;-----------------
Pause:
VLCx.playlist.togglepause()
Return
;-----------------
Stop:
VLCx.playlist.stop()
Return
;=========================
VIDEO PLAY youtube com VLC.exe ( videolan )

Code: Select all

;- Youtube_Play ActiveX 
;- modified = 20190106  - added 2nd letras
;- created  = 20181231
;- ActiveX example for videolan (vlc.exe)
;- Play Youtube-Video ( if allowed to embed )
;------------------------------------------------------
setworkingdir,%a_scriptdir%
Filename1=VLCPlugin_Youtube-Play    ;- only videos allowed for embed
Gui,2:default
Gui,2:-border
Gui,2: -DPIScale
Gui,2: Color, Black,Black 

;id1=iCKMzrPy4t4;aquela janela virada pro mar
;id1=_b9R_x_imBM;ROMANIA Drumul Transfăgărășan 
id1=8ekQfHU8JeI;Gio_Sperotto
;id1=9KrYzzpHgrY;Dia da espiga / A Rua dos Meus Ciúmes - Anabela
;id1=sraZaL6jylM;Lilian de Celis-El Relicario
;id1=_QpHwLddlTg;br_Assim como o rio-Leila Silva

stringsplit,c,id1,`;
;F1=https://www.youtube.com/watch?v=%c1%
F1=https://www.youtube.com/embed/%c1%?autoplay=1
if c2 contains espiga
  {
  gosub,text1
  settimer,aas1,165000
  }
wa:=A_screenwidth,ha:=A_screenHeight,xx:=101
LW:=(wa*88)/xx ,LH:=(ha*88)/xx,wm:=(wa*88.7)/xx,hm:=(ha*90)/xx,GW:=(wa*99.5)/xx,GH:=(ha*96)/xx  
x1:=(wa*1.5)/xx,y1:=(ha*2) /xx,x2:=(wa*1.2) /xx,y2:=(ha*1) /xx
;vlc1        =%A_programfiles%\VideoLAN\VLC\vlc.exe    ;- check path for vlc.exe
;xxa=Shell.Explorer     ;- IExplorer
;xxa=Mozilla.Browser    ;- Mozilla Firefox
xxb=VideoLAN.VLCPlugin.2
;-- picture/text --
xp:=(wa*90.3)/xx,yp:=(ha* 1.8)/xx,wp:=(wa* 8.4)/xx,hp:=(ha*88.9)/xx
GUI,2:Font,s11 cYellow,Lucida Console
   Gui,2:Add,ActiveX, x%x1% y%y1% w%lw%  h%lh% vVlcx,%xxb%
   Gui,2:Add,Edit, x%xp% y%yp% w%wp%  h%hp% -hscroll -vscroll vEd1,%e1%
   Gui,2:add,GroupBox,x%x2% y%y2% w%WM% h%HM%
GUI,2:Font,s14 cGray,Lucida Console
y:=(ha*92)/xx  
Gui,2:Add,Text,x%x2% y%y% , %c2%   ( use [-ESC-] para sair )
Gui,2:Add,text,x0 y0 h0 w0 vT1
Gui,2:Show,x0 y0 w%gw% h%gh%,%filename1%
GuiControl,2: Focus,T1

VLCx.playlist.add(F1)
VLCx.playlist.play()

;vlcx.playlist.add(F1,"","""""")
;vlcx.playlist.next()
return
;--------------
2Guiclose:
exitapp
esc::exitapp
;--------------
aas1:
gosub,text2
Guicontrol,2:,ed1,%e2%
settimer,aas1,off
return
;-------------
text1:
e1=
(
Óh! Ih! Oh! Ai!
Esta vida é uma cantiga
E este dia d' alegria
Vale um ano d' aflição
Óh! Ih! Oh! Ai!
Porque este dia da espiga
É o arauto do dia
Em que o trigo há-de dar pão!
Jorra o vinho dos pichéis
Para os lábios das moçoilas
Mais vermelhas que papoilas
Co'as larachas dos Manéis
Há merendas pelos prados
Gargalhadas pelo ar
E à beirinha dos valados
Ouve a gente murmurar
Maria, são teus olhos azeitonas!
Cachopa, são teus lábios qual cereja!
E os teus seios, cachos d'uvas que abandonas
À vindima desta boca que os deseja!
Tomam todos os caminhos
Um sabor de romaria
E até mesmo os pobrezinhos
Fingem ter alegria
E, na volta, já sentindo
Que foi tudo um sonho em vão
Inda há ecos, repetindo
Pelo espaço esta canção
Maria, são teus olhos azeitonas!
Cachopa, são teus lábios qual cereja!
E os teus seios, cachos d'uvas que abandonas
À vindima desta boca que os deseja!
)
return
;-------------------------
text2:
e2=
(
Na rua dos meus ciúmes
Onde eu morei e tu moras
Vi-te passar fora de horas
Com a tua nova paixão
De mim não esperes queixumes
Quer seja desta ou daquela
Pois sinto só pena dela
E até lhe dou o meu perdão
Na rua dos meus ciúmes
Deixei o meu coração
Saudades são fé perdida
São folhas mortas ao vento
E eu piso sem um lamento
Na tua rua ao passar
E ainda que me custe a vida
Não há-de-ver-me chorar
Na rua dos meus ciúmes
Deixei o meu coração.
)
return
;============ END script Youtube PLAY =====================================
exemplo, veja a imagem por 4 segundos

Code: Select all

;-------- Foto_SlideShow -----------
/*
------------------------------------
script   =Foto_SlideShow
modified =20190809
created  =20190809
define your variable-folder
use ESC to quit
------------------------------------
*/
;-----------------------------------
#warn
setworkingdir,%a_scriptdir%
SetBatchLines, -1

;------ your variables -------------
mf=D:\m_media\m_foto                   ;- <<<< your PATH here
extensions :="jpg,bmp,png"
seconds    := 4
;-----------------------------------
wa:=A_screenwidth,ha:=A_screenHeight,xx:=100
e:=""
seconds:=(seconds*1000)
x:=(wa*.1)/xx , y:=(ha*.1)/xx , w:=(wa*63)/xx   ;- not optimal for vertical pictures maybe make w smaller ( width procent )
Gui,2:default
Gui,2: +HwndAId  +0x2000000
;Gui,2: +HwndAId  +0x16000000
Gui,2: -DPIScale
Gui,2: +AlwaysOnTop -Caption
Gui,2: Margin, 0, 0
Gui,2:Color,Black,Black
loop,%mf%\*.*,0,1
  {
  SplitPath,a_loopfilefullpath, name, dir, ext, name_no_ext, drive
  if ext in %extensions%
    e .= a_loopfilefullpath . "`r`n"
  }
gui,2: show ,x%x% y%y% w%w%,Test1
if e=
{
msgbox, 262208,FILES ,No pictures found`nDefine your pictures-folder in this script
exitapp
}
Loop,parse,e,`n,`r
{
x:=a_loopfield
if x=
  continue
gosub,childnew1
}
return
;---------------------
esc::
2Guiclose:
Gui,3:destroy
sleep,1000
exitapp
;---------------------
childnew1:
Gui,2:submit,nohide
Gui,3: -DPIScale
Gui,3: +AlwaysOnTop -Caption
Gui,3: Margin, 0, 0
Gui,3: +HwndBId  -Caption -Border
Gui,3: Color,Black,Black
gui,3:add, Picture, x0 y0 h-1 w%w%,%x%
Gui,3:Show,x0 y0 ,Test2
WinGetPos,,,Width2,Height2,Test2
Gui,3:+Parent%AId%
;Winmove,,Test1,,,,%height2%
Winmove,,Test2,,,,%height2%
sleep,%seconds%
Gui,3:destroy
return
;=============== END SCRIPT Foto Slide-Show ============

Last edited by garry on 06 Aug 2020, 13:00, edited 1 time in total.
User avatar
Gio
Posts: 1029
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: imagem da GUI

06 Aug 2020, 11:00

Bom dia Gaby1337.

Você pode usar o comando GuiControl para alterar o conteúdo de controles de GUIs geradas pelo AutoHotkey, e no caso dos controles do tipo Picture, isso pode ser usado para trocar a imagem exibida.

Exemplo (OBS: Para fazer o código abaixo funcionar, você precisará colocar duas imagens .png diferentes na pasta do script com os nomes Tree3 e Tree4, ou então trocar os caminhos do código para caminhos onde existam as duas imagens diferentes.):

Code: Select all

Gui, Add, Picture, X20 Y20, %A_ScriptDir%/Tree3.png
Gui, add, button, x40 y250 gTROCAR, TROCAR
gui, show, w200 h300
return

TROCAR:
If ((ATUAL = "") OR (ATUAL = 2))
{
	GuiControl,, Static1, %A_ScriptDir%/Tree4.png
	ATUAL = 1
}
else
{
	GuiControl,, Static1, %A_ScriptDir%/Tree3.png
	ATUAL = 2
}

:arrow: Com relação a GIFs animadas, o controle do tipo Picture pode apenas exibir uma imagem estática dessas GIFs (não será capaz de exibir a animação), mas se quiser exibir GIFs animadas corretamente, você poderá por exemplo, usar um controle ActiveX no lugar do controle Picture.

Exemplo:

Code: Select all

var := A_ScriptDir . "/exemplo.gif"  ; ATENCAO !! AJUSTE AQUI O CAMINHO DO ARQUIVO .GIF (GIF ANIMADO).
Gui, Add, ActiveX, x0 y0 w600 h600 vWB, shell explorer
wb.Navigate("about:blank")
html := "<html>`n<title>name</title>`n<body>`n<center>`n<img src=""" var """ >`n</center>`n</body>`n</html>"
wb.document.write(html)
Gui, show, w600 h600 Center
Referência e créditos: https://autohotkey.com/board/topic/89024-animated-gif-in-gui/?p=564330
garry
Posts: 2399
Joined: 22 Dec 2013, 12:50

Re: imagem da GUI

07 Aug 2020, 08:21

@Gio obrigado pelos pequenos exemplos
PLAY-GIF

Code: Select all

;- imagem da GUI 
;- https://www.autohotkey.com/boards/viewtopic.php?f=69&t=79504&p=345982#p345982
#warn
#noenv
setworkingdir,%a_scriptdir%
filename1=GIF_PLAY
Gui,2: -dpiscale
Gui,2:Color,Black,Black
transform,s,chr,34
wa:=A_screenwidth,ha:=A_screenHeight,xx:=100
;--------------
url1=https://i.imgur.com/Vo6UxTX.gif
;url1=https://i.imgur.com/S7TXiLf.gif
f1:=A_ScriptDir . "\tex_avery_01.gif"
ifnotexist,%f1%
   urldownloadtofile,%url1%,%f1%
xxb=Shell.Explorer 
x:=(wa*1)/xx,y:=(ha*1)/xx,w:=(wa*28)/xx,h:=(ha*35)/xx
Gui,2: Add, ActiveX, x%x% y%y% w%w% h%h%  vWB,%xxb%
wb.Navigate("about:blank")
;-----------------------------
w1:=(wa*27.5)/xx,h1:=(ha*34)/xx
w2:=(wa*23)/xx,h2:=(ha*28)/xx
p1:=(wa*.5)/xx,m1:=(ha*2)/xx
;-----------------------------
html=
(Ltrim Join`r`n
<div style="margin:0px;padding:0px;width:%w1%px;height:%h1%px;border:0px solid black;background-color: #000000;">
<img src="%f1%" style="margin:%m1%px;padding:%p1%px;width:%w2%px;height:%h2%px;background-color: #000000">
</div>
)
wb.document.write(html)
x:=(wa*1)/xx,y:=(ha*1)/xx,w:=(wa*32)/xx,h:=(ha*40)/xx
Gui,2: show,x%x% y%y% w%w% h%h%,%filename1%
return
;----------------
2Guiclose:
WB.Document.close
WB := ""
exitapp
;=============================================

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 2 guests