*** 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 Dialog Controls v0.91a beta (c) 2000 DragonZap, dragonzap1@aol.com

This is the beta documentation for the MDX dialog 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:
        Positioner
        ContextHelp
        MouseInput

Positioner
        Host control:   BUTTON
        Host style:     Should not be default, ok, or cancel, or be
                        placed on a tab

        Control Styles:
        size            - The dialog can be resized by the user
        minbox          - The dialog will have a minimize button
        maxbox          - The dialog will have a maximize button
        noclose         - Prevents the user from closing the dialog by
                          pressing escape or clicking the "close" button.
                          The dialog can still be closed by clicking the
                          "ok" or "cancel" buttons, or by using /dialog
                          -k or /dialog -c, respectively. /dialog -x
                          will not work.

        Events triggered:
        sclick  - The control has been moved, resized, minimized, maximized,
                  or restored.

        How to use:
        When you create a positioner control, it immediately hides itself
        (and should not be unhidden), since its purpose is to relay dialog
        repositioning/resizing events to your script, not to add an actual
        control to the dialog. There should only be one positioner control
        per dialog.

        When the user does something affecting dialog positioning, (or
        if your script uses the "/dialog -s" command) an sclick event
        will be triggered for this control. The item's text, retrievable
        with $did(), will be one of the following words, indicating
        the following information:

        <last event> <current state> [+flags] [dialog rect] [client rect]

        <last event> indicates the most recent event caused by the user.
        It can be one of the following:
            
        none    - No event. An sclick event has not been triggered yet.
        moving  - The dialog is being moved. You may use the "setrect"
                  command to restrict the dialog's position.
        move    - The dialog was moved. The new position can be determined
                  using $dialog().x and $dialog().y (built into mIRC)
        sizing  - The dialog is being resized. You may use the "setrect"
                  command to restrict the dialog's position.
        size    - The dialog was resized, either by dragging the edges, or
                  by a minimizing, maximizing, or restoring of the dialog,
                  or because your script used /dialog -s to change the
                  dialog size or position.
        minimize- The user clicked the dialog's minimize button or selected
                  "Minimize" from the window menu.
        maximize- The user clicked the dialog's maximize button or selected
                  "Maximize" from the window menu.
        restore - The user clicked the dialog's restore button or selected
                  "Restore" from the window menu.
        tryclose- The user attempted to close the dialog when the "noclose"
                  style was still active.

        <current state> indicates what state the dialog is currently in,
        and can be "minimized", "maximized", "normal", or "hidden".

        If the last event is "moving" or "sizing", then the [+flags],
        [dialog rect], and [client rect] values will also appear.
        [+flags] tell your script which edge the user is dragging by, if
        any, and can include one or more of the following values:
        b - dragged by the bottom edge
        t - dragged by the top edge
        l - dragged by the left edge
        r - dragged by the right edge

        [dialog rect] and [client rect] are the proposed rectangles for
        the dialog, in <X> <Y> <W> <H> format. You may use the "setrect"
        command to change this.

        You can also set the state of the dialog using /did -a on the
        positioner control. The control may be set to one of the following
        values:

        hide    - Hides the dialog. This includes hiding it from the Windows
                  task bar if the dialog is a desktop window.
        show    - Shows the dialog in normal size (as opposed to
                  minimized or maximized) but does not activate it.
        restore - Shows and activates the dialog and changes it to normal
                  size.
        minimize- Shows the dialog at minimized size.
        maximize- Shows the dialog at maximized size.
        setrect - Sets the dialog position and size for a "moving" or
                  "sizing" event. (see below)

        You may also use one of the <current state> words ("minimized",
        "maximized", "normal", or "hidden") -- this is useful if you have
        stored the dialog state and wish to restore it at another time.

        The "setrect" command takes the following arguments:
        <X> <Y> <W> <H>

        At any point between coordinate values, you may place the letter "c"
        to indicate that further coordinates should be the coordinates of
        the client area, or "w" to indicate that further coordinates should
        be the coordinates of the entire window.

        Examples:
        /did -a restrictedDlg 10 setrect w 0 0 c 100 100
        /did -a restrictedDlg 10 setrect c 200 200 200 200

ContextHelp
        Host control:   BUTTON
        Host style:     Should not be default, ok, or cancel, or be
                        placed on a tab

        Control styles:
        nocontrol       - Not quite what it sounds like. Indicates that
                          there isn't any help for individual controls;
                          only for the dialog itself (so that if the
                          user clicks the question mark button, the
                          cursor won't turn into the help cursor)

        Events triggered:
        sclick  - The help button was clicked, the user selected a control
                  to get help on, or the user tabbed to a control and
                  pressed F1

        How to use:
        Like the Positioner, the ContextHelp control is not meant to be
        visible as a dialog control itself, and will hide itself on
        creation. It is used to give the user the option to get help on
        the dialog or its controls. Only one ContextHelp control at most
        should be made per dialog.

        When a help-related event occurs, this control will receive an
        sclick event. Extended information on the most recent event can
        be retrieved using $did(), which will return one of the
        following values:
        none
                No sclick event has occurred yet.
        button
                The help button was just clicked.
        item <did>
                The user wants help on <did>, where <did> is the dialog
                id of the control in question.

MouseInput
        Host control:   BUTTON
        Host style:     Should not be default, ok, or cancel, or be
                        placed on a tab

        Control styles:
                none

        Events triggered:
        sclick  - Some sort of mouse input occurred on the dialog itself.
                  Use $did() to find out what it was.

        How to use:
        The MouseInput control is used to provide notification of any mouse
        input to your dialog, separate from any controls (that is, it will
        not trigger if the cursor is over an actual dialog control). When
        mouse activity occurs, an sclick event will trigger. When that
        happens, $did() will be one of the following values:

        none        - Nothing has occurred yet.
        move        - The mouse has moved.
        lbuttondown - The user pushed the left mouse button
        lbuttonup   - The user released the left mouse button
        ldclick     - The user double-clicked the left mouse button
        mbuttondown - The user pushed the middle mouse button
        mbuttonup   - The user released the middle mouse button
        mdclick     - The user double-clicked the middle mouse button
        rbuttondown - The user pushed the right mouse button
        rbuttonup   - The user released the right mouse button
        rdclick     - The user double-clicked the right mouse button
        wheel <num> - The user has turned the mouse wheel. <num> indicates
                      how far the wheel was turned. (positive or negative)
----
Version information:
0.91a   - Added the MouseInput control
          Added "moving" and "sizing" events to the Positioner
0.91    - Beta release