DCX - Dialog Control Xtension
This DLL lets you add new controls to mIRC dialogs as well as change other features like the visual style, position etc...
DCX does not support mIRC controls (NOT EVEN mIRC TABS), nor anything related to mIRC normal dialogs except it's menus. DCX does not work like MDX so please read the manual and see dcx.mrc and dcx_tools.mrc for examples.
XPopup (special mIRC menus) need to be patched to work on mIRC v6.2! Custom menus still work normally.
The DLL creates the controls directly on the mIRC dialog and you use clone functions defined by /xdid and $xdid which behave like the regular /did and $did to interact with the controls.

The event handling in the DLL is supported by a callback alias supplied by the user when the dialog is marked before adding DCX controls. The callback alias is called from within the DLL to ask for info (if you want to modify the default behavior in the DLL thus the "callback" type) and will supply the user with the events and parameters of these events.

Every function in this DLL returns a value if used with the $dll identifier. D_OK [function]: [message] if successful, D_ERROR [function]: [message] otherwise.
  • Mandatory parameters are expressed in [SQUARE] brackets and optional parameters in (ROUNDED) brackets.
  • We strongly suggest you load the dcx_tools.mrc file included in the zip as it contains the necessary /xdialog, /xdid, /xdock, /xtray, /xstatusbar, /xtreebar and /xmenubar aliases and identifiers needed to use the DLL.
  • Function calls, styles, and references to anything DCX related are all case sensitive!
For advanced support for images (such as extra file formats and drawing routines), Microsoft has released a library called GDI+. This is included in Windows XP, however older versions of Windows may not have this.

Use $dcx(IsUsingGDI) to check whether or not you have GDI+ support on your computer. If you do not, you can download it here.
Callback Alias Events
Every DCX Control fires events upon user action on the control. These events are sent to an alias specified when the dialog is Marked.

Why are the events not sent like regular on *:DIALOG: events?
Well for one thing, mIRC events are linear and static in the way that you cannot return any value to the event manager, to modify the default behavior of the event. Using callback support with an alias enables this type of interaction.

Callback Event Data
Format: [NAME] [EVENT] [ID] [PARAM]
NAME $1 = Name of the dialog that the event came from.
EVENT $2 = Name of the event (eg. sclick, dclick, ...)
ID $3 = ID of the control that fired the event.
PARAM $4- = Additional information, event specific (usually $null, except specified otherwise in documentation)
Note. Some control events support return values to change their default behaviour. When returning special values during certain events, such as nosize for sizing, interact with the DLL and modify the default event behavior. The events that support a return value will have a description of what the return value does when returned.
Latest Changes
If you notice any inconsistancies or errors with the documentation, please put a post on the forum on this thread!

    Lead Developer ClickHeRe
    Supporting Developers
    (in chronological order)
    Documentation twig*
    Additional libraries  
    CWndShadowx Copyright (c) 2006 Perry Zhu
    Treebar.dll NaquadaServ
    MDX vs DCX Mpdreamz
    Demo Script elizio
    General Testing
    (and forum helpers!)
    Tutorials j0x's DCX Tutorials (French)
    DCX Forum: Help: CLA
    DCX Forum: CLA :(
    Mpdreamz's Cell Layout Algorithm Tutorial
    EinsteinXXL's CLA Tutorial (German)
    Dutch Mpdreamz
    Finnish Mkz
    French dunkelzahn
    German Duplex
    Hebrew seec77
    Italian VxD aka DEATHJ0KER
    Malaysian da^hype
    Portuguese (Brazil) Henrique
    Portuguese (Portugal) Theorem
    Spanish PaTaGoN
    Swedish Rixxon
    Website http://dcx.scriptsdb.org
    Support #scriptsdb.org @ Undernet
    #genscripts @ AmeriChat
    Contact © 2005-2009 Last Updated: 12th July, 09

    Valid XHTML 1.0 Transitional Valid CSS!