AutoHotkey webinar Oct/2021-Hour 2:  Dark Styles and V2
Channel: AUTOHOTKEY Gurus
Date: 20/10/2021

In the second hour of the AutoHotkey webinar Dimitri shows us his usage of styles & skins.  Plus his work on replicating Notepad with v2 of AutoHotkey.   I have some links to the resources shared here: https://the-Automator.com/autohotkey-webinar-10-2021-creating-and-using-autohotkey-functions/ but will try and get more and post them soon.

TLDR: The video showcases various techniques and tools for programming with AutoHotkey, including function libraries, recursion, DLL calls, GUI customization, and using Dropbox for sending executable files.

1. 00:00 📚 AutoHotkey can use function libraries, leverage Excel functions, and include files in one or multiple files, with objects passed by reference.
 1.1 Objects given as parameters are always passed by reference, which is important to keep in mind when creating libraries.
 1.2 To use function libraries in AutoHotkey, download the library and place it in the lib folder under the current script or AutoHotkey installation directory, and name the file with the function or create a related function library.
 1.3 AutoHotkey can leverage Excel functions by recognizing the "excel_" prefix in the function name.
 1.4 Include files in one file or multiple files is a matter of preference, but grouping related files together can be helpful.

2. 04:22 📚 John taught recursion using functions, a powerful programming concept where a function calls itself until a logical end is reached.
 2.1 Functions can have parameters that are functions, but they cannot have objects as default parameters.
 2.2 Functions can be a bound function or a string of the function name, and can be adapted from a go sub using a custom function passed dynamically.
 2.3 John led a webinar on recursion using functions, which is a powerful concept in programming where a function calls itself until a logical end is reached.

3. 08:08 🤖 Using AutoHotkey, the speaker demonstrated creating rectangles and applying skins to Notepad through DLL calls and collaboration.
 3.1 There is a recursion limit that, if exceeded, will result in an error, but it's probably a good thing as long as it's properly handled.
 3.2 Auto hotkey requires knowing tricks to change guru styles, demonstrated through a windows 10-like setting with rectangles created through dll calls and shared through collaboration.
 3.3 The speaker demonstrated creating rectangles with four different alcohols and applying a skin to a copy of notepad using a function that calls a dll, and clarified that the script can be run with the regular 32-bit version of autohotkey.

4. 12:55 👨‍🏫 💻 A speaker showcased a new dark theme for AutoHotkey GUIs, with some minor glitches that can be fixed, and discussed a technique to change the appearance of GUI controls.
 4.1 The speaker demonstrated a dark theme for AutoHotkey GUIs that breathes new life into them, with a few glitches that can be easily fixed.
 4.2 It's easy to switch to dark mode on Windows XP with certain files, but they are rare and not native to most computers.
 4.3 The lecture discusses a technique to easily change the appearance of GUI controls, but there are still some limitations and extra work required to fully customize the style.

5. 18:29 👨‍💻 Neutron is a GUI tool that simplifies building interfaces with HTML and allows for easy switching between light and dark mode.
 5.1 Neutron is a tool for building GUIs using HTML, but it is still quite involved and a drag-and-drop builder with style settings could help more people adopt it.
 5.2 The speaker discusses visual defects and the lack of an easy way to switch to dark mode in Windows 10.
 5.3 Neutron is an alternative GUI tool that can easily switch between light and dark mode with just one line of code.
 5.4 Elvent created a powerful button class using the gdi library for creating images and drawing them, allowing for easy creation and application of button themes.

6. 24:06 📝 Using the 32-bit version of a program may cause issues, but there are ways to work around it.
 6.1 AutoHotkey has built-in functionality for GUI controls like buttons, but there are many other types of controls available, and v2 has a class that adds methods to the GUI with the same style as native AutoHotkey commands.
 6.2 Using the 32-bit version of a program may cause it to break due to limitations in the dll functions.
 6.3 The speaker suggests that the Dell computer may be compiled in 32-bit and pre-date 64-bit systems, but there may be other ways to achieve the same function.

7. 28:34 👨‍🏫 💻 Lecture on using styles and hexadecimal numbers to restyle controls in Windows applications, with a focus on updating gooeys.
8. 36:07 📎 Use Dropbox instead of email for sending executable files and consider using a special extension to avoid hazardous file flags