Page 1 of 2

Menus

Posted: 23 May 2018, 12:10
by Bertini
Tengo una duda se puede hacer que Msgbox tenga varias opciones como tener varios MsgBox dentro de otros e ir cambiando del primero al último y al revés

esto solo habré una ventana con esa información
"esto solo es un ejemplo"

:*:help0::
MsgBox,
(
•--------------► Menu ◄-------------------•
#comando1 - información 1.
#comando2 - información 2.
#comando3 - información 3.
•----------------------------------------------•
)
Return

Lo quiero que me habla una ventana y vaya variando la información del contenido "pulsando o con un boton" el número de la página del MsgBox

Re: Menus

Posted: 23 May 2018, 12:40
by Flipeador
Hola, considero ineficiente utilizar un MsgBox para hacer eso. Debes crear tu propia interfaz de usuario utilizando el comando Gui. No puedo darte ningún ejemplo sino hasta mañana, no estoy en casa. Para lo que quieres puedes utilizar un control Tab.
Cuando pueda te pondré un ejemplo, de momento puedes intentar por tu cuenta, la documentación es muy clara y completa.

Re: Menus

Posted: 23 May 2018, 12:44
by Bertini
Flipeador wrote:Hola, considero ineficiente utilizar un MsgBox para hacer eso. Debes crear tu propia interfaz de usuario utilizando el comando Gui. No puedo darte ningún ejemplo sino hasta mañana, no estoy en casa. Para lo que quieres puedes utilizar un control Tab.
Cuando pueda te pondré un ejemplo, de momento puedes intentar por tu cuenta, la documentación es muy clara y completa.
no tengo prisa estáre esperando tu ejemplo

Re: Menus

Posted: 24 May 2018, 13:23
by Bertini
con segui algo hace un menu

ejemplo:

Gui, Add, Tab2,, help1|help2|help3 ; Tab2 vs. Tab requires [v1.0.47.05+].
Gui, font, s11, Arial ;Tamaño de la letra y tipografia
Gui, Add, Text,, help1
Gui, Show
Gui, Tab, 2
Gui, Add, Text,, hola2
Gui, Show
Gui, Tab, 3
Gui, Add, Text,,
(
•--------------► Menu ◄-------------------•
#comando1 - información 1.
#comando2 - información 2.
#comando3 - información 3.
•----------------------------------------------•
)
Gui, Show
return


GuiClose:
GuiEscape:
ExitApp

-----------------------------------

Ahora me falta que el menu de arriba sea un poco más grande y un tamaño de la ventana más grande

Re: Menus

Posted: 24 May 2018, 19:44
by Guill
Para modificar el tamaño global del mensaje tienes que modificar esta línea en donde está "s11"

Code: Select all

Gui, font, s11, Arial ;Tamaño de la letra y tipografia

S11 quiere decir "size 11"

Prueba s16 s24, etc. para ver qué tamaño te viene mejor.


Para diferenciar el primer texto "menú" de lo demás, no sé cómo se debe hacer.

Re: Menus

Posted: 24 May 2018, 20:23
by Flipeador
Prueba creando la ventana con AutoGUI.
Aquí tienes el ejemplo basado en tu Script, que está bastante bien:

Code: Select all

Gui Add, Tab3, x1 y1 w749 h499, Pestaña 1|Pestaña 2|Pestaña 3
Gui Font, s10, Segoe UI

Loop 3
{
    Gui Tab, % A_Index

    Gui Font, Bold s15
    Gui Add, Text, x20 y30 w710 h50 Center, % "•--------------► Menu ◄-------------------•"

    Gui Font, Normal s12
    Gui Add, Text, x20 y90 w710 h380 Center, % "
    (
        `n#comando1 - información 1.
        `n#comando2 - información 2.
        `n#comando3 - información 3.
    )"
}

Gui Show, w750 h500, Window
Return

GuiEscape:
GuiClose:
ExitApp
Return
Tal vez si nos dices que tratas de hacer exactamente con todo esto, podría proporcionarte un ejemplo que se adapte mejor a lo que quieres hacer, esto así luce muy feo :lol:

Re: Menus

Posted: 25 May 2018, 00:14
by Bertini
Lo que intento es hacer un menu de comando para ver la utildad y si quiero ejecutar para que agan algo

ejemplo 1: cuando escriba #comando1 -> ejecuta un script en un docuemto lo que hace es mover el cursor a una determinada posición y clik en esa posición todo esto sería un menu de ayuda a comandos

script:

Gui Add, Tab3, x1 y1 w750 h499, Pestaña 1|Pestaña 2|Pestaña 3
Gui Font, s10, Arial
Gui, +Resize -MaximizeBox
Gui, MyGui:+Resize -MaximizeBox

Loop 3
{
Gui Tab, % A_Index

Gui Font, Bold s15
Gui Add, Text, x20 y30 w710 h50 Center, % "•--------------► Menu ◄-------------------•"

Gui Font, Normal s12
Gui Add, Text, x20 y90 w710 h380 Center, % "
(
`n#comando1 - información 1.
`n#comando2 - información 2.
`n#comando3 - información 3.
)"
}

Gui Show, w750 h500, Window
Return

GuiEscape:
GuiClose:
ExitApp
Return

F6::ExitApp
F8::Reload

-----------------------------------

ahora intentare hacer un boton para ejecutar el script sin tener que escribir XD y poder maximiza y minimizar a mi antojo que eso no e podido conseguir como queria

Re: Menus

Posted: 25 May 2018, 06:32
by Bertini
Guill wrote:Para modificar el tamaño global del mensaje tienes que modificar esta línea en donde está "s11"

Code: Select all

Gui, font, s11, Arial ;Tamaño de la letra y tipografia

S11 quiere decir "size 11"

Prueba s16 s24, etc. para ver qué tamaño te viene mejor.


Para diferenciar el primer texto "menú" de lo demás, no sé cómo se debe hacer.
Bertini ---> eso ya lo descubir por mi cuenta examinando otros progrmas pero gracias

Re: Menus

Posted: 25 May 2018, 07:57
by Flipeador
ahora intentare hacer un boton para ejecutar el script sin tener que escribir XD y poder maximiza y minimizar a mi antojo que eso no e podido conseguir como queria
Prueba con la herramienta de creación de GUIs que te puse en el anterior comentario y nos comentas.
Con respecto a lo de maximizar y minimizar, ¿cual es el problema?.

Re: Menus

Posted: 25 May 2018, 08:05
by Bertini
Flipeador wrote:
ahora intentare hacer un boton para ejecutar el script sin tener que escribir XD y poder maximiza y minimizar a mi antojo que eso no e podido conseguir como queria
Prueba con la herramienta de creación de GUIs que te puse en el anterior comentario y nos comentas.
Con respecto a lo de maximizar y minimizar, ¿cual es el problema?.
Bertini ----> prefiero hacer el codigo a mano para prender

Code: Select all

Gui Add, Tab2, x1 y1 w630 h490, Pestaña 1|Pestaña 2|Pestaña 3
Gui Font, s10, Arial
Gui, +Resize -MaximizeBox
Gui, MyGui:+Resize -MaximizeBox

Loop 1
{
    Gui Tab, 1

    Gui Font, Bold s15
    Gui Add, Text, x20 y30 w500 h500 Center, % "•--------------► Menu ◄-------------------•"

    Gui Font, Normal s12
    Gui Add, Text, x20 y90 w500 500 Center, % "
    (
	#help0 - Muestra los comandos.
	#link0 - Link para compartir.
	#juegos0 - Muestra utilidad para juegos.
    )"
}
Loop 2
{
	Gui Tab, 2
	Gui, Add, Button, x10 y200 w60 h40 , Help1 ,&Pause Run C:\Program Files\Mozilla Firefox\firefox.exe ; ERROR ACA XD  :D 
	Gui Font, Normal s11
	Gui Add, Text, x-44 y24 , % "
	(
	Hola
	)"
}
Gui Show, w630 h490, Window
:*:#a4::
loop,1
{
Run D:\AutoHotkey\Botón L4 y L5 .ahk
Run D:\AutoHotkey\CW.exe
}
Return

GuiEscape:
GuiClose:
ExitApp
Return

F6::ExitApp
F8::Reload
A hora tengo un problema que quiero cuando pulse el boton me ejecute el programa alguna solución

Re: Menus

Posted: 25 May 2018, 08:21
by Flipeador
prefiero hacer el codigo a mano para prender
Te entiendo, pero no te recomendé la herramienta para que haga todo por ti (es únicamente para la creación de GUIs), la puse para que te ayude con la posición y dimensiones de la ventana y los controles, hacer esto sin una herramienta resulta en una pérdida de tiempo innecesaria. Ya luego analizas el código y añades las "acciones".
Además te recomiendo un editor decente, noto que no utilizas sangría, esto solo complica más la lectura.
Gui, Add, Button, x10 y200 w60 h40 , Help1 ,&Pause Run C:\Program Files\Mozilla Firefox\firefox.exe ; ERROR ACA XD
No puedes hacer eso. Debes asignar una etiqueta (o función) al botón para que sea llamada cada vez que lo pulsas.
Esa información la encontrarás aquí en la documentación.

Code: Select all

Gui Add, Tab2, x1 y1 w630 h490, Pestaña 1|Pestaña 2|Pestaña 3
Gui Font, s10, Arial
Gui, +Resize -MaximizeBox
Gui, MyGui:+Resize -MaximizeBox

Loop 1
{
Gui Tab, 1

Gui Font, Bold s15
Gui Add, Text, x20 y30 w500 h500 Center, % "•--------------► Menu ◄-------------------•"

Gui Font, Normal s12
Gui Add, Text, x20 y90 w500 500 Center, % "
(
#help0 - Muestra los comandos.
#link0 - Link para compartir.
#juegos0 - Muestra utilidad para juegos.
)"
}
Loop 2
{
Gui Tab, 2
Gui, Add, Button, x10 y200 w60 h40 gEtiqueta,&Pause
Gui Font, Normal s11
Gui Add, Text, x-44 y24 , % "
(
Hola
)"
}
Gui Show, w630 h490, Window
:*:#a4::
loop,1
{
Run D:\AutoHotkey\Botón L4 y L5 .ahk
Run D:\AutoHotkey\CW.exe
}
Return

GuiEscape:
GuiClose:
ExitApp
Return

Etiqueta:
Run C:\Program Files\Mozilla Firefox\firefox.exe 
Return

F6::ExitApp
F8::Reload

Re: Menus

Posted: 25 May 2018, 09:20
by Bertini
Ahora no me estra el texto de en la ventana que dice Hola

Code: Select all

Gui Add, Tab2, x1 y1 w630 h490, Pestaña 1|Pestaña 2|Pestaña 3
Gui Font, s10, Arial
Gui, +Resize -MaximizeBox
Gui, MyGui:+Resize -MaximizeBox

Loop 1
{
Gui Tab, 1

Gui Font, Bold s15
Gui Add, Text, x20 y30 w500 h500 Center, % "•--------------► Menu ◄-------------------•"

Gui Font, Normal s12
Gui Add, Text, x20 y90 w500 500 Center, % "
(
#help0 - Muestra los comandos.
#link0 - Link para compartir.
#juegos0 - Muestra utilidad para juegos.
)"
}
Loop 2
{
Gui, Tab, 2
Gui, Add, Button, x10 y200 w60 h40 gEtiqueta,&Pause
Gui, Font, Normal s11
Gui, Add, Text, x7 y24 , % "
(
Hola
)" ; A hora ya no muestra el texto hola
}
Gui, Show, w630 h490, Window
:*:#a4::
loop,1
{
Run D:\AutoHotkey\Botón L4 y L5 .ahk
Run D:\AutoHotkey\CW.exe
}
Return

GuiEscape:
GuiClose:
ExitApp
Return

Etiqueta:
Run C:\Program Files\Mozilla Firefox\firefox.exe 
Return

F6::ExitApp
F8::Reload
Tengo un error con el texto en la pestaña no me muestra que dice tiene que mostrar hola

Re: Menus

Posted: 25 May 2018, 11:53
by Flipeador
Loop 1 no tiene ningún sentido.
Gui Tab, 1 es para que todos los nuevos controles que añadas sean mostrado en este número de pestaña. He probado tu script y me muestra el Hola solo en la segunda pestaña, imagino que también quieres que se vea en la tercera, debes cambiar Gui Tab, 2 por Gui Tab, % A_Index + 1; A_Index es el número de iteración actual, mira aquí, abajo tienes ejemplos.
En la documentación tienes muchos ejemplos, es solo ir probando. Si se te dificulta la lectura del script, en mi firma tienes un editor muy bueno.

Re: Menus

Posted: 25 May 2018, 19:50
by Bertini
Le avía puesto que en el "Gui, Add, Text, x-20 y60 w500 400 Center," por eso no salia en la ventana XD

Code: Select all

Gui, Add, Tab2, x1 y1 w630 h490, Pestaña 1|Pestaña 2|Pestaña 3
Gui, Font, s10, Arial
Gui, -Resize -MaximizeBox
Gui, MyGui:-Resize -MaximizeBox

Loop, 1
{
Gui, Tab, 1

Gui, Font, Bold s15
Gui, Add, Text, x40 y30 w500 h400 Center, % "•--------------► Menu ◄-------------------•"

Gui, Font, Normal s12
Gui, Add, Text, x20 y60 w500 400 Center, % "
(
#help0 - Muestra los comandos.
#link0 - Link para compartir.
#juegos0 - Muestra utilidad para juegos.
)"
}
Loop, 2
{
Gui, Tab, 2
Gui, Add, Button, x10 y200 w90 h40 gEtiqueta, &Navegador
Gui, Add, Button, x99 y200 w90 h40 gW, &sublime text
Gui, Add, Button, x190 y200 w90 h40 gX, &Wakfu
Gui, Font, Normal s11
Gui, Add, Text, x7 y24 , % "
(
Hola
)" ; A hora ya no muestra el texto hola
}
Gui, Show, w630 h490, Window
:*:#a4::
loop,1
{
Run D:\AutoHotkey\Botón L4 y L5 .ahk
Run D:\AutoHotkey\CW.exe
}
Return

GuiEscape:
GuiClose:
ExitApp
Return

Etiqueta:
Run C:\Program Files\Mozilla Firefox\firefox.exe 
Return

W:
Run C:\Program Files\Mozilla Firefox\firefox.exe
Return

X:
Run C:\Program Files\Mozilla Firefox\firefox.exe
Return

F6::ExitApp
F8::Reload
return
Tema Menu -----> Ahora tengo que configurar unos botones para cuando este la venta habierta no habra otra igual
Tema New ----> 1.- Hay alguna manera que dectecte zonas de la pantalla que se a cambiado y 2.- ejecute el programa, si no aga nada
El paso 1 no se como hacer lo
El paso 2 creo yo que se utilizaria un if y un else

Quieres que habra otra ayuda o utilizo está para dos ayudas distintas.

Re: Menus

Posted: 26 May 2018, 09:40
by Flipeador
Con respecto a Tema Menu no entiendo bien a lo que te refieres, por favor intenta ser lo más detallado posible en las explicaciones.

Abre un tema nuevo con más información para tu otra duda.

Re: Menus

Posted: 26 May 2018, 10:47
by Bertini
Bertini wrote:Le avía puesto que en el "Gui, Add, Text, x-20 y60 w500 400 Center," por eso no salia en la ventana XD

Code: Select all

Gui, Add, Tab2, x1 y1 w630 h490, Pestaña 1|Pestaña 2|Pestaña 3
Gui, Font, s10, Arial
Gui, -Resize -MaximizeBox
Gui, MyGui:-Resize -MaximizeBox

Loop, 1
{
Gui, Tab, 1

Gui, Font, Bold s15
Gui, Add, Text, x40 y30 w500 h400 Center, % "•--------------► Menu ◄-------------------•"

Gui, Font, Normal s12
Gui, Add, Text, x20 y60 w500 400 Center, % "
(
#help0 - Muestra los comandos.
#link0 - Link para compartir.
#juegos0 - Muestra utilidad para juegos.
)"
}
Loop, 2
{
Gui, Tab, 2
Gui, Add, Button, x10 y200 w90 h40 gEtiqueta, &Navegador
Gui, Add, Button, x99 y200 w90 h40 gW, &sublime text
Gui, Add, Button, x190 y200 w90 h40 gX, &Wakfu
Gui, Font, Normal s11
Gui, Add, Text, x7 y24 , % "
(
Hola
)" ; A hora ya no muestra el texto hola
}
Gui, Show, w630 h490, Window
:*:#a4::
loop,1
{
Run D:\AutoHotkey\Botón L4 y L5 .ahk
Run D:\AutoHotkey\CW.exe
}
Return

GuiEscape:
GuiClose:
ExitApp
Return

Etiqueta:
Run C:\Program Files\Mozilla Firefox\firefox.exe 
Return

W:
Run C:\Program Files\Mozilla Firefox\firefox.exe
Return

X:
Run C:\Program Files\Mozilla Firefox\firefox.exe
Return

F6::ExitApp
F8::Reload
return
Tema Menu -----> Ahora tengo que configurar unos botones para cuando este la venta habierta no habra otra igual

Quieres que habra otra ayuda o utilizo está para dos ayudas distintas.
Bertini ----> no se como hacer que un boton o otra cosa dectecte que ya se está utilizando el programa o ejecutando en primer plano o en segúndo plano

Re: Menus

Posted: 26 May 2018, 11:27
by Flipeador
Mira la directiva #SingleInstance, es para controlar las instancias de un mismo script.
Puedes utilizar #SingleInstance Off, asignarle un título "único" a tu ventana GUI y luego utilizar WinExist("título aquí") para comprobar si ya existe la ventana. El título lo estableces en el último parámetro de Gui, Show, en tu Script es Window.
¿A eso te refieres?.

Re: Menus

Posted: 26 May 2018, 11:44
by Bertini
Flipeador wrote:Mira la directiva #SingleInstance, es para controlar las instancias de un mismo script.
Puedes utilizar #SingleInstance Off, asignarle un título "único" a tu ventana GUI y luego utilizar WinExist("título aquí") para comprobar si ya existe la ventana. El título lo estableces en el último parámetro de Gui, Show, en tu Script es Window.
¿A eso te refieres?.
Bertini ----> A eso me refiero lo estare probando pero nos si me saldra bien , si me sale bien te comento y si no igual XD

se pone al princio o en en link de cuando te lleva al programa

Re: Menus

Posted: 27 May 2018, 06:00
by Bertini
Flipeador wrote:Mira la directiva #SingleInstance, es para controlar las instancias de un mismo script.
Puedes utilizar #SingleInstance Off, asignarle un título "único" a tu ventana GUI y luego utilizar WinExist("título aquí") para comprobar si ya existe la ventana. El título lo estableces en el último parámetro de Gui, Show, en tu Script es Window.
¿A eso te refieres?.
Bertini ---> Sigue habriendo dos navegadores

Code: Select all


Gui, Add, Tab2, x1 y1 w630 h490, Pestaña 1|Pestaña 2|Pestaña 3
Gui, Font, s10, Arial
Gui, -Resize -MaximizeBox
Gui, MyGui:-Resize -MaximizeBox

Loop, 1
{
Gui, Tab, 1

Gui, Font, Bold s15
Gui, Add, Text, x40 y30 w500 h400 Center, % "•--------------► Menu ◄-------------------•"

Gui, Font, Normal s12
Gui, Add, Text, x20 y60 w500 400 Center, % "
(
#help0 - Muestra los comandos.
#link0 - Link para compartir.
#juegos0 - Muestra utilidad para juegos.
)"
}
Loop, 2
{
Gui, Tab, 2
Gui, Add, Button, x10 y200 w90 h40 gEtiqueta, &Navegador
#SingleInstance force
WinExist(firefox.exe)
Gui, Show
Gui, Add, Button, x99 y200 w90 h40 gW, &sublime text
Gui, Add, Button, x190 y200 w90 h40 gX, &?????
Gui, Add, Button, x281 y200 w90 h40 gC, &Botónes1 
Gui, Add, Button, x370 y200 w90 h40 gA, &CW
Gui, Font, Normal s11
Gui, Add, Text, x7 y24 , % "
(
Hola
)" 
}
Gui, Show, w630 h490, Window

GuiEscape:
;--->GuiClose:
;---ExitApp
Return

Etiqueta:
Run C:\Program Files\Mozilla Firefox\firefox.exe
Return

W:
Run C:\Program Files\Sublime Text 3\sublime_text.exe
Return

X:
Run C:\Users\????\AppData\Local\Ankama\Wakfu\Wakfu.exe
Return

C:
Run D:\Autohotkey\Botón L4 y L5 .ahk
Return

A:
Run D:\AutoHotkey\CW.exe
Return

F6::ExitApp
F8::Reload
return


Re: Menus

Posted: 27 May 2018, 06:12
by Flipeador
Prueba cambiando la línea Run C:\Program Files\Mozilla Firefox\firefox.exe por estas líneas:

Code: Select all

If (WinExist("ahk_exe firefox.exe"))
    WinActivate
Else
    Run C:\Program Files\Mozilla Firefox\firefox.exe