SkinBox 1.0 beta 3
by RabidCow
General purpose template module. This module will create any number of
skinned windows. Any of these can have specific actions assigned to them,
can have their skin, position, size, alpha, etc changed without recycling.
You can also create and destroy windows while the module is running.
- *SkinBox <name> [<monitor>] [<x>] [<y>] [<width>] [<height>] [<#flags>]
- Creates a window, giving its initial position, size, and flags:
T OnTop
L TrueAlpha
H Hidden
Any numbers in the #flags will be interpreted as Group.
- <box name>OnMonitor <monitor>
- <box name>X <x>
- <box name>Y <y>
- Sets the initial position of the window.
This will override the value given in the *SkinBox line.
- <box name>Width <width>
- <box name>Height <height>
- Sets the initialsize of the window.
This will override the value given in the *SkinBox line.
- <box name>Alpha <amount>
- Sets fake or true alpha amount.
- <box name>TrueAlpha [<bool>]
- Creates the window as a "layered" window to allow true "win2k" transparency.
This is ignored if not supported by the system.
- <box name>OnTop [<ontop>]
- <box name>Hidden [<hidden>]
- Sets the initial z-position and visibility of the window.
These override any flags given on the *SkinBox line.
- <box name>Group <group>
- Sets the group number for this window.
- <box name>Bitmap <bitmap>
- Sets the initial skin bitmap.
- <box name>Edge <edge>
- <box name>Edge <left> <top> <right> <bottom>
- Sets the edge of the bitmap that is not stretched or tiled.
- <box name>EdgeLeft <edge>
- <box name>EdgeTop <edge>
- <box name>EdgeRight <edge>
- <box name>EdgeBottom <edge>
- Sets the edge for a specific side, useful to have one edge different from the rest.
- <box name>Tile [<tile>]
- Sets whether the center of the bitmap is stretched or tiled.
- SkinBoxOnInit <action>
- SkinBoxOnQuit <action>
- Actions to perform when the module finishes initialization or begins shutting
down. These actions can contain variables to replace.
- SkinBoxOnCreate <action>
- SkinBoxOnDestroy <action>
- Global action when any window is created or destroyed, any window-specific action
will override this.
- SkinBoxOnMouseOver <action>
- SkinBoxOnMouseOut <action>
- SkinBoxOnMouseMove <action>
- Global action when the mouse enters, leaves, or moves over any window that
does not have a specific action.
- SkinBoxOnHover <action>
- SkinBoxOnUnhover <action>
- Global action when the mouse hovers or stops hovering over any window that
does not have a specific action.
- SkinBoxHoverTime <msecs>
- Sets the module-wide delay for mouse hover, defaults to the system setting.
- SkinBoxOnLButtonDown <action>
- SkinBoxOnRButtonDown <action>
- SkinBoxOnMButtonDown <action>
- Global action when the left, right, or middle mouse button is pressed
in any window that does not have a specific action.
- SkinBoxOnLButtonUp <action>
- SkinBoxOnRButtonUp <action>
- SkinBoxOnMButtonUp <action>
- Global action when the left, right, or middle mouse button is released
in any window that does not have a specific action.
- <box name>OnCreate <action>
- <box name>OnDestroy <action>
- Action to perform when the window is created or destroyed.
- <box name>OnMouseOver <action>
- <box name>OnMouseOut <action>
- <box name>OnMouseMove <action>
- Action to perform when the mouse enters, leaves, or moves over the window.
- <box name>OnHover <action>
- <box name>OnUnhover <action>
- Action to perform when the mouse hovers or stops hovering over the window.
- <box name>HoverTime <msecs>
- Delay before the mouse is considered hovering.
- <box name>OnLButtonDown <action>
- <box name>OnRButtonDown <action>
- <box name>OnMButtonDown <action>
- Action to perform when the left, right, or middle mouse button is pressed.
- <box name>OnLButtonUp <action>
- <box name>OnRButtonUp <action>
- <box name>OnMButtonUp <action>
- Action to perform when the left, right, or middle mouse button is released.
- !SkinBoxMove <box name> [<monitor>] <x> <y> [<width>] [<height>]
- Changes the position and optionally the size of the window.
- !SkinBoxSize <box name> <width> <height>
- Changes the size of the window.
- !SkinBoxOnTop <box name> [<state>]
- Sets or toggles whether the window floats above normal windows.
- !SkinBoxAlpha <box name> <amount>
- Changes the alpha transparency amount.
- !SkinBoxShow <box name> [<state>]
- Shows or hides the window.
- !SkinBoxLoadBoxHook ... <name=> <box file> <box HWND>
- Loads the window into an lsbox.
- !SkinBoxExec <box name> <command>
- Executes a command, replacing variables in this window's context.
- !SkinBoxAction <box name> <action name> [<command>]
- Sets the action for a triggered event.
- !SkinBoxBitmap <box name> <file>
- Sets the bitmap to draw the window skin.
- !SkinBoxEdge <box name> <edge>
- !SkinBoxEdge <box name> <left> <top> <right> <bottom>
- Sets the edges of the skin, this area is not stretched or tiled.
- !SkinBoxTile <box name> [<state>]
- Toggles whether the center part of the bitmap is stretched or tiled to cover the window.
- !SkinBoxCreate <name> [<monitor>] [<x>] [<y>] [<width>] [<height>] [<#flags>]
- Create a new window, same syntax as *SkinBox lines.
- !SkinBoxDestroy <box name>
- Destroy a window.
2002-11-13:
- added !Create and !Destroy (multiwindow only)
- added auto-generated documentation
2002-11-12:
- added optional width and height params to !Move so you can move and size
in one command with no flicker.
2002-11-09:
- added position vars relative to screen, monitor, desk, and parent
- register bangs before creating windows so they can be called from OnCreate
and unregister them after destroying windows, for OnDestroy
^@_n^ module name
^@_v^ module version
^@_a^ module author
^@_b^ module build type
^@#a^ apostrophe: '
^@#c^ caret: ^
^@#d^ dollar sign: $
^@#n^ newline
^@#q^ double quote: "
^@ka^ alt key status, true or false
^@kc^ ctrl key
^@km^ context menu key
^@ks^ shift key
^@kw^ windows key
^@kal^ left alt key
^@kar^ right alt key
(etc.)
^@mx^ mouse x pos, rel to window
^@my^ mouse t pos, rel to window
^@mxs^ mouse x pos, rel to screen (0,0 on primary monitor)
^@mys^ mouse y pos, rel to screen
^@mxp^ mouse x pos, rel to parent (of skinbox)
^@myp^ mouse y pos, rel to parent
^@mxd^ mouse x pos, rel to desktop (0,0 on top,leftmost monitor)
^@myd^ mouse y pos, rel to desktop
^@mxm^ mouse x pos, rel to monitor (of skinbox)
^@mym^ mouse y pos, rel to monitor
^@ix^ window x pos
^@iy^ window y pos
^@ixs^ window x pos, rel to screen (0,0 on primary monitor)
^@iys^ window y pos, rel to screen
^@ixp^ window x pos, rel to parent (of skinbox)
^@iyp^ window y pos, rel to parent
^@ixd^ window x pos, rel to desktop (0,0 on top,leftmost monitor)
^@iyd^ window y pos, rel to desktop
^@ixm^ window x pos, rel to monitor (of skinbox)
^@iym^ window y pos, rel to monitor
^@isx^ window width
^@isy^ window height
^@ih^ window handle
^@in^ window name
^@ig^ window group number
^@ib^ handle of window's display bitmap
^@ik^ handle of window's skin bitmap