*** NOTE: This version of MDX is BETA. If you downloaded it from    ***
***       a website other than                                      ***
***       http://129.21.129.137/~dragonzap/dlls/                    ***
***                           or                                    ***
***       http://24.6.139.19/~dragonzap/dlls/                       ***
***       then it is NOT an authorized copy and probably            ***
***       out of date! Please e-mail dragonzap1@aol.com for a more  ***
***       recent copy.                                              ***

MDX General Controls v0.91a beta (c) 2000-2001 DragonZap, dragonzap1@aol.com
Portions (c) 1999-2000 Microsoft, used without permission

This is the beta documentation for the MDX general controls, included
with the MDX DLL. This DLL is not required to be distributed with the
core MDX DLL unless your script uses the controls that it supports.

This DLL provides the following new controls:
	ScrollBar
	ProgressBar
	IPAddress
	Animation
	UpDown
	Text

ScrollBar
	Host control:   BUTTON
	Host style:     Should not be default, ok, or cancel

	Control Styles:
	horizontal      - Creates a horizontal scrollbar
	vertical        - Creates a vertical scrollbar

	Events triggered:
	sclick  - The scrollbar has been changed by the user

	How to use:
	Scrollbar properties are set and retrieved using /did -a
	and $did(), respectively. There are six numbers used when setting
	scrollbar properties:

	<position> <min> <max> <page size> <large step> <small step>

	position  - Scrollbar position
	min       - Minimum value
	max       - Maximum value
	page size - Determines the size of the tracking box (the box
		    marking where the position is set at). It is
		    relative to the min and max values.
	large step- Determines the amount the scrollbar is moved when
		    the bar is clicked.
	small step- Determines the amount the scrollbar is moved when
		    the arrows at either end are clicked.

	If you are setting them with /did, you do not need to specify
	all the values. If you are retrieving the scrollbar properties
	with $did, there will also be either "moving" or "stopped" on
	the end depending on whether or not the user is still moving
	the scrollbar or has stopped.


ProgressBar
	Host control:   TEXT
	Host style:     none required

	Control Styles:
	smooth          - Creates a smooth progress bar
	vertical        - Creates a vertical progress bar

	Events triggered:
	none

	How to use:
	Progress bar properties are set and retrieved using /did -a
	and $did, respectively. There are three numbers used when setting
	progress bar ranges:

	<position> <min> <max>

	position - Progress bar position
	min      - Minimum value
	max      - Maximum value

	Not all the values need to be specified - missing values will not
	be changed. If you want to set the minimum value, you must set
	the maximum value at the same time. The progress bar also accepts
	a set of commands through /did -a, with the form:

	<command> [value]

	The commands are:
	barcolor- Set the bar color to [value] (use $rgb)
	bgcolor - Set the background color to [value] (use $rgb)
	delta   - Move the bar [value] units relative to its current position
	step    - Set the step range to [value]. If [value] is not given,
		  the bar will be stepped forward by the previously set
		  amount of units.

	You may also use /did -r, or /did -a with no text, to reset the
	progress bar to its minimum position.

IPAddress
	Host control:   EDIT
	Host style:     Should not be multi

	Control Styles:
	none

	Events triggered:
	edit    - The user has changed the IP address in the control

	How to use:
	Usage for the IP address control is very straightforward - it
	can be treated just like a normal edit control, except that it
	will only hold values in the form of an IP address. When setting
	an address, either the long number form or the x.x.x.x form can
	be used. However, when retrieving the address, it will always
	be in the x.x.x.x form, or $null if the control is completely
	blank.

Animation
	Host control:   BUTTON
	Host style:     Should not be default, ok, or cancel

	Control Styles:
	autoplay        - The animation is immediately started on load
	center          - The animation is centered in the control
	transparent     - The animation is transparent (the transparent
			  color chosen is the color of the pixel at
			  position 0,0 of the first frame)

	Events triggered:
	sclick  - The user clicked, double-clicked, or right-clicked
		  on the animation, or the animation was started,
		  or finished playing

	How to use:
	The control has several commands, which can be sent with
	/did -a, or set up in the initial text. They are:

	open <filename>
		Loads a soundless .avi file into the control
	close
		Unloads whatever .avi file is loaded into the control
	play [start] [end] [repeat count]
		Plays the animation in the control. [start] specifies
		the playback start position and defaults to 0 (the beginning)
		if not given. [end] specifies the playback end position
		and defaults to -1 (the end) if not given. [repeat count]
		specifies the number of times the animation will be
		played, and defaults to -1 (infinite) if not given.
	stop
		Stops animation playback
	seek <frame>
		Sets the current animation frame to <frame>.

	Using $did() to retrieve the text of the control will return
	the following values:

	<mouse x> <mouse y> <last action>

	<mouse x> and <mouse y> are the current mouse cursor coordinates
	in relation to the upper-left corner of the animation control.
	<last action> can be:
	none    - No last event
	lsclick - Left single click
	ldclick - Left double click
	rsclick - Right single click
	start   - The animation was started
	stop    - The animation completed playback

UpDown
	Host control:   EDIT
	Host style:     Should not be multi

	Control Styles:
	edit            - The up-down is paired with an editbox. Also requires
			  the "alignleft" or "alignright" styles
	arrowkeys       - The associated editbox can be changed by the user
			  by using the arrow keys (up or down) as well as
			  with the mouse
	horizontal      - The control's arrows go left and right instead of
			  up and down. Left is considered the same as up, and
			  right is considered the same as down.
	nothousands     - Normally the number in the editbox (if it is
			  decimal) is displayed with a thousands separator
			  (i.e. "1,000,000") -- this style removes it.
			  (i.e. "1000000")
	wrap            - If the user sets the updown's value past the
			  maximum by using the arrows, it will wrap around to
			  the minimum, and vice versa
	alignleft       - The up-down is positioned to the left of the
			  editbox
	alignright      - The up-down is positioned to the right of the
			  editbox
	center          - The editbox text is center-justified
	right           - The editbox text is right-justified
	hscroll         - The editbox will automatically scroll if the text
			  goes beyond its boundaries
	numeric         - The editbox will only accept numbers as text

	Events triggered:
	edit    - The control is manipulated in some way

	How to use:
	The values are set and retrieved using /did -i and $did(),
	respectively. The text sent to /did -i should be formatted as such:

	[value] [min] [max] [base] [acceleration]

	[value] is the actual value of the control, and will automatically
	be formatted depending on the up-down's settings. (i.e. it may
	have a thousands place, or be displayed as hexadecimal to the
	user.) [min] and [max] are the minimum and maximum values for the
	up-down. If [min] is greater than [max], then the effects of the
	buttons will be reversed. (That is, up will cause the value to
	decrease, and down will cause it to increase.) [base] can either
	be 10 for decimal numbers (which can be negative) or 16 for
	hexadecimal numbers (which cannot be negative).

	[acceleration] is a comma-separated list of number pairs (which
	themselves are separated by colons) and describes the rate of
	acceleration for when the user holds down an arrow. The format
	for a pair is <seconds>:[amount], where <seconds> is the number
	of seconds after which the given acceleration amount activates.
	For example, the default acceleration is "0:1,2:5,5:20", meaning
	initially the control changes by 1 unit every few milliseconds,
	then after 2 seconds the control changes by 5 units, and finally
	after 5 seconds, the control will change by 20 units.

	When setting the control's text, you can also set it in the format:

	* [text]

	This sets the exact editbox text as opposed the numeric value,
	in case you want to put non-numbers in the control.

	When retrieving the control's text with $did(), the result is in
	the same format as the first /did -i format, with two exceptions --
	at the end, there will be a word describing the last action,
	followed by the actual editbox text (as opposed to the value).

	The last action can be:
	none    - No previous action
	edit    - The control text was changed
	up      - The user clicked the up button or pushed the up key
	down    - The user clicked the down button or pushed the down key

	If you create the control with the "edit" style, it is probably a
	good idea to set the border style to "ClientEdge" (using MDX's
	"SetBorderStyle" function) or else the up-down won't line up
	correctly with the editbox border.

Text
	Host control:   BUTTON
	Host style:     Should not be default, ok, or cancel

	Control Styles:
	center          - Text is center-justified
	right           - Text is right-justified
	noprefix        - & signs do not underline the next character

	Events triggered:
	sclick  - The control has been clicked

	How to use:
	Usage is exactly like the usage of a normal mIRC text control;
	no more, no less. The only reason to use this as opposed to
	a normal text control is that this control triggers sclick events.

----
Version information:
0.91a	- No changes from previous version
0.91    - Beta release
