Overview
Forms framework is a group of modules used together to create AHK graphical user interfaces. It contains the list of optional module includes with each module designed to work with or without the framework in place. It includes number of custom controls, extensions and useful libraries. Form module is a backbone of the framework.
Features
All modules are developed so they fulfill specific goals :
- Standalone. All modules are independent of each other. You can copy any module to your script and use it without other modules. They generally don’t depend on your script settings.
- Standardized. Generally, modules use the same or similar APIs whenever possible. Functions with big number of parameters use named arguments to avoid long list of empty parameters. Functions doing similar things are declared the same and arguments having similar purpose are named equaly cross-module.
- Clean. They don’t create any globals and try not to influence the hosting script in any way unless specified differently.
- Documented. All scripts contain documentation in the source code. You can use mkdoc script to create HTML documentation out of it by simply running it in the folder with scripts. You can use comment remover to reduce the size of the modules. You can also merge them into single include using ScriptMerge, which gives you the option to keep the framework and its documentation in single file.
- Free. All modules are open source and free.
Modules
- _ - Script initializer and set of helper functions.
- Form - Alternative way of creating AHK GUIs.
- Panel - Panel custom control, container for other controls.
- Toolbar - Toolbar custom control.
- Rebar - Rebar custom control.
- HLink - HyperLink custom control.
- Splitter - Splitter custom control.
- ScrollBar - Scrollbar custom control.
- Scroller - Makes windows scrollable.
- HiEdit - HiEdit custom control.
- QHTM - Qhtm custom control.
- SpreadSheet - SpreadSheet custom control.
- Property - Property custom control.
- RaGrid - Ragrid custom control.]
- Win - Set of window functions.
- Dlg - Common dialogs.
- DockA - Docking system for AutoHotKey windows.
- ShowMenu - Show menu from the text.
Extensions
- Align - Aligns controls inside the parent.
- Attach - Determines how a control is resized with its parent.
- Cursor - Sets the cursor shape for a control or a window.
- Tooltip - Adds tooltips to GUI controls.
- CMenu - Sets a context menu for a control.
- CColor - Sets colors for the control.
- ILButton - Adds an image to a Button control.
- Font - Sets font for the control.
Known bugs/issues
- Modules use decimal format of integer (default one). Module may not work if integer format is changed to Hex. as it doesn’t set and restore integer format for practical reasons (it would have to be repeated on far too many places). If you use different integer format restore it back to decimal once you are finished.