• Intro to AutoHotkey HotStrings with AutoHotkey Intermediate AutoHotkey GUIs are Easy with AutoHotkey Intro to DOS & AutoHotkey

How to create a Resizable GUI in AutoHotkey | Amazing AutoHotkey function for GUIs in 2021

Resizable GUI in AutoHotkeyHere’s a handy Resizable GUI in AutoHotkey Function in AutoHotkey that I used to use a lot more (before I had access to the Debug window in AHK Studio and Output Window in SciTE4AutoHotkey)

You can learn how to create simple AutoHotkey GUIs in our Intro to GUIs in AutoHotkey Udemy course

Code for Resizable AutoHotkey GUI Function in AutoHotkey

Resizable GUI in AutoHotkey

 

HotString to bring up a GUI with multiple text selections in AutoHotkey

I was helping someone in an AutoHotkey Facebook group this morning.  The original request was how to have a HotString without requiring an ending character (tab, space, return, etc.).  This is solved by simply putting an asterisk in between the first two colons.

i.e.  :*:jg::Joe@the-Automator.com

However someone else mentioned a function they use to display a list of items and select from them.  He didn’t share his function but I found something similar on the AutoHotkey forum.   The example used the “Loop” and StringSplit commands.  I decided to adapt it to use a for Loop and StrSplit function.

HotString to bring up a GUI with multiple text selections in AutoHotkey

Here’s the code to use a HotString to bring up a GUI with multiple text selections in AutoHotkey


#SingleInstance,Force ;make sure it only runs once
:*:jg::Joe@the-Automator.com ;This does solve initial request

:*:gg:: ;when I type gg bring up the menu (* means don't wait for an end charachter)
TextMenu("This is, cool¦But I like¦to do more¦with these¦But that's about`n`nit")
return
:*:ff:: ;when I type gg bring up the menu (* means don't wait for an end charachter)
TextMenu("this¦is from the ¦ff choice I typed¦Pretty cool¦huh")
return

TextMenu(TextOptions){
for k, MenuItems in StrSplit(TextOptions,"¦") ;parse the data on the weird pipe charachter
Menu, MyMenu,Add,% MenuItems,Action ;Add each item to the Menu

Menu, MyMenu, Show ;Display the GUI and wait for action
Menu, MyMenu, DeleteAll ;Delete all the menu items
}

Action:
ClipboardBackup:=ClipboardAll ;backup clipboard
Clipboard:=A_ThisMenuItem ;Shove what was selected into the clipboard
Send, ^v ;paste the text
sleep, 50 ;Remember to sleep before restoring clipboard or it will fail
Clipboard:=ClipboardBackup ;Restore clipboard
return

 

Walk through of Maestrith’s Notify AutoHotkey class

In this walk through I demonstrate using Maestrith’s Notify class.  To me, it’s much simpler and easier to use than the notify function I demonstrated the other day from gwarble.

Walk through of Maestrith’s Notify AutoHotkey class

Walk through of Maestrith’s Notify AutoHotkey class


#SingleInstance,Force
;Notify:=Notify() ;instantiate the object (make sure you do this once, not each time you press a hotkey)
;**************************************
;https://github.com/maestrith/Notify
Notify(60).AddWindow("First",{Animate:"Center",ShowDelay:1000,Icon:300,IconSize:15,Title:"Hello World",Color:"0x00FF00",TitleColor:"0xFF0000"})
;Notify().AddWindow("Second",{Animate:"Center",ShowDelay:1000,Icon:300,IconSize:50,Title:"Hello World",TitleSize:14,Size:12,Time:5000,Background:0x00FF00})
;Notify().AddWindow("Third",{Animate:"Center",ShowDelay:1000,Icon:300,IconSize:50,Title:"Hello World",TitleSize:14,Size:12,Time:6000,Background:0x0000FF})
;Notify.AddWindow("Your Text Here",{Icon:300,Background:"0xFF00AA",Title:"my Title",TitleSize:16,size:13,Time:3000,Hide:"Top,Left",ShowDelay:1500,sound:"C:\Windows\media\Alarm05.wav"})
;Notify.AddWindow("Your Text Here",{Icon:300,Background:"0x1100AA",Ident:"MyID",Title:"My first title",TitleSize:16,size:14,radius:50,buttons:"one,two,three or more"})
;Notify.AddWindow("Your Text Here",{Icon:300,Background:"0x1100AA",Ident:"MyID2",Title:"This is cool",TitleSize:16,size:14,radius:75})
return

;If you've defined a function called "click" with one parameter- then when you click the notification, info about the GUI will be stored in the parameter as an object
click(obj){
m(obj)
MsgBox % obj.button
if(Obj.Ident="MyID")
MsgBox,% ("You clicked on the first")
if(Obj.Ident="MyID2")
MsgBox,% ("You clicked on the Second")
}

Notify Function that creates simple GUIs in AutoHotkey

The other day I uploaded a function with utilized the Notify() function from gwarble.

I thought I’d covered it in another post but that was in a webinar so I thought I’d make an intro here to show how it can be used and give you a link to download Notify().  If you’d like to use the tool I used in the video to show which icon/images are in the shell32.dll file, you can see the video and get the script here.

Example using Notify Function in AutoHotkey

Here is the example script I worked through using the Notify Function

  • Intro to AutoHotkey HotStrings with AutoHotkey Intermediate AutoHotkey GUIs are Easy with AutoHotkey Intro to DOS & AutoHotkey