DCX - Dialog Control Xtension
 
Version History
v1.4.1
    v1.4.0
    • New features
      1. added DCXML
      2. added /xtreebar to modify mIRCs treebar
      3. added /xstatusbar to dock a statusbar into mIRC's main window
      4. added XMenuBar to modify mIRCs menubar
      5. added a dialog callback called 'zlayershow'
      6. added /xdid -V for listview which scrolls list to make an item visible
      7. added /xdid -P for (rich)edit to paste clipboard content
      8. added +o flag for /xdock -b to use the old style treebar docking
      9. added /xdialog -P to use xpopup commands on dialog menus
      10. added +t flag to /xdid -i for image control to tile the image
      11. added /xdid -w for stacker to add images to internal imagelist
      12. added /xdid -y for stacker which clears the internal image list
      13. added /xdid -o for image control to offset picture
      14. added general 'noformat' style to disable support for mIRC formatted text in some controls
      15. added /xdid +k -1 for statusbar to reset color
      16. added +f flag to /xdid �t for statusbar to display formatted mIRC text
      17. added +c flag to /xdid �t for statusbar to create child controls
      18. added text support to line control
      19. added /xdid -a for text control to append text
      20. icon loading supports +a flag to show associated filetype icon if icon fails to load from specified file
      21. added animate styles to /xdid -h and /xdid �s
      22. /xdid -R +f can now be combined with the +R flag so image is resized to control size before applying region
      23. added 'alpha' support to treeview
      24. added 'alpha' support to trackbar
      25. added $xdid().isloaded property to directshow to determine if a file is loaded
      26. added +b flag to /xdock -n to disable scrollbars
      27. added $xdid().fname for directshow to get loaded filename
      28. added $xdid().fname for image to get loaded filename
      29. added 'closable' style for tab control to add X button on tab items
      30. added 'gradient' style for tab for gradient item background
      31. added 'closetab' event for tab control when the close button is clicked
      32. added +a flag to /xdid -a for directshow which specifies audio only
      33. added 'noheadersort' style to listview
      34. added /xpopup -R rounded style and ability to set transparency level
      35. added $xpopup().isrounded
      36. added $xpopup().alpha
      37. added $dcx(PickIcon, index filename) to open an icon selector on XP+
      38. added $xdid().wname for docked @window control to retrieve window name
      39. added 'SelectedText' colour (index 11) to xpopup menus
      40. added +r flag for /xdid -C to set border colour
      41. added +b flag for /xdid -R to set control alpha blending level
      42. added +v flag for /xdialog -b to set vista styled dialog (2k+) (WARNING: uses extremely high processing power on older machines)
      43. /xdialog -t now allows setting of alpha value and transparent colour
      44. added /xdialog -V to adjust the vista aero glass area
      45. added $dcx(ActiveWindow) to retrieve properties of the currently active window within operating system
      46. added /xdid -v for tab control which moves an item to a new position
      47. added /xdid -l for edit to change readonly state
      48. added $xdid().isreadonly to edit control
      49. added xdid -r for text control to clear text
      50. added 'returndefault' style to ColorDialog
      51. added 'draglist' style to list control
      52. added callbacks itemdragbegin, itemdragcancel, itemdrag, itemdragfinish to list control
      53. added 'dragline' style to list control
      54. added support for a background image via /xdid -G for treeview
      55. added 'selected' and 'deselected' events to listview
      56. added 'selchange' event to treeview
      57. added 'showsel' and 'noshowsel' to /xdock -F +s styles (now moved to /xtreebar +s)
      58. added 'sizing' event to tab control
      59. added /dcx WindowProps +r to simulate a right click
      60. added $xtreebar().item to retrieve text from mIRC Treebar
      61. changed statusbar /xdid -l to accept percentage values as valid widths. values without the % symbol are considered fix widths
      62. added 'noauto' style to statusbar
      63. added 'noauto' style to rebar
      64. allowed divier to host all control types
      65. added 'showsel' style to edit
      66. allowed statusbar to host all control types
      67. added 'keydown' event to listview
      68. added general style 'hidden' to all controls except mdialog and mwindow
      69. added 'alpha' style to tab
      70. added /xdid -y to enable/disable keydown events for button being held down
      71. added listview /xdid -W This command lets you change the viewing mode
      72. added overlay icon support to treeview and listview
      73. added $xdid(listview).columnorder to get the order of the columns
      74. added listview +m flag to /xdid -n to allow manual width specification for all widths at once
      75. added dialog callback 'isverbose' which is sent as soon as a dialog is marked
      76. added listview /xdid -o to allow user to change column order
      77. added VALUE to sclick, rclick and mousebar as they were in docs (but not included in code)
      78. when space is pressed and checkboxes enabled, stateclick event will be triggered
      79. 'nospace' is accepted as a return value for 'keydown' to prevent the user from using the spacebar to change checkbox values
      80. added $xdid(tab).mouseitem
      81. added $xdid(toolbar).dropdownpoint
      82. added $xdid().textcolor
      83. added $xdid().textbgcolor
      84. added $xdid().bgcolor
      85. added ability to load from hash tables for listview via /xdid -a
      86. added ability to load from hash tables for treeview via /xdid -a
      87. added ability to load from hash tables and files for list via /xdid -A
      88. added 'multicol' style which allows a multi column list
      89. added 'hsbar' style to list which enabled the horizontal scrollbar
      90. added list /xdid -m command to configure 'multicol'
      91. added /xdialog -S
      92. added mIRC formatted text support to list
      93. added 'noformat' style to disable mIRC text formatting to list
      94. added $xdid(list).find support
      95. added comboex 'hscroll' style which enables the horizontal scroll bar
      96. changed /xpopup -s to support an optional hwnd argument that allows the popup to be opened relative to a specific window
      97. treeview - added /xdid -S to save contents to file
      98. directshow - added $xdid().state
      99. general - added /xdid -C +g/G flags to set gradients
      100. added hgradient and vgradient styles to various controls
      101. added /xtreebar -T to enable DCX controlled drawing of the mIRC TreeBar
      102. added /xtreebar -c to change TreeBar colors
      103. added /xtreebar -w to change TreeBar icons
      104. added infotips style to xtreebar
      105. added xtreebar styles balloon and noballoon (see note)
      106. changed /xdid to support `/xdid [cmd] id-id [options]` and `/xdid [cmd] id,id-id [options]` just like mIRC does with /did
      107. added /xstatusbar -f
      108. added `check` style and `checkchange` event to box
      109. added /xdialog -S to resize client area
      110. added 'check' style and 'checkchange' event to box
      111. added /xdialog -S
      112. added /xpopup -M
      113. added $xpopup().marked
      114. added $xdid().selected to listview
      115. added events: close (calendar hidden), open (calendar shown), change (date/time changed) to datetimepicker
      116. added event 'showtip' to trackbar
      117. added +f flag for dcxLoadIcon() functions (which affects many controls) to allow loading of filetype icon
      118. added BrowseDialog
    • Syntax changes
      1. updated dcx_tools.mrc to include /xstatusbar, /xtreebar and /xmenubar aliases. please update your scripts!
      2. moved statusbar and treeview commands from /xdock to /xstatusbar and /xtreebar
      3. changed stacker /xdid -a to support image indexes
      4. changed listview /xdid -a to include OVERLAY, COLOR and BGCOLOR (for subitems)
      5. changed listview /xdid -j to include COLOR and BGCOLOR (optional parameters)
      6. changes to icon loading commands such as /xdid -w to support icon flags which affect most controls
      7. changed /xpopup -i to support flags
      8. /xtray now supports (and hence requires) icon flags
      9. changed $xdock(mIRC) switchBarSize, toolBarSize and treeBarSize to return 'x y w h' instead of just 'w h'
      10. changed statusbar /xdid -l to take widths instead of border offsets
      11. moved /xdock -G to /dcx GhostDrag
      12. changed $xstatusbar properties; 'isStatusBar' to 'visible', 'statusText' to 'text', 'statusParts' to 'parts' and 'statusTooltip' to 'tooltip'
      13. modified (rich)edit /xdid -S to make END parameter optional (to change caretpos)
      14. mwindow now accepts HWND as well as @window name for docking
      15. the 'changing' callback event for dialogs now include sizing, moving or both to determine which event occurred and the dialog sizes.
      16. /dcx xSignal changed to support optional flags +dst (xdock, xstatusbar, xtray)
      17. changed treeview and listview /xdid -w to allow setting an icon as an overlay icon. READ NOTES!
      18. listview /xdid -l now supports optional parameter OVERLAY
      19. changed [N] to be an optional parameter in $xdid(listview).hwidth so all widths are returned
      20. $xdid(lv).text parameter NSUB is now 1-based index
      21. $xdid(lv).icon parameter NSUB is now 1-based index
      22. $xdid(lv).seltext parameter NSUB is now 1-based index
      23. $xdid(lv).seltext NSUB is now optional, returns first column by default
      24. listview /xdid -n parameter COL is now 1-based index
      25. listview /xdid -v parameter COL is now 1-based index
      26. modified treeview /xdid -j to support overlays
      27. added header ID to listview 'trackbegin' event
      28. switched EVENT and DCXStatusBar parameters in XStatusBar signals
      29. dialog 'close' event has been broken up into 'close' and 'scclose' to provide better control
      30. made $xdid(listview, N, NSUB).text NSUB parameter optional (returns first column by default)
      31. listview events stateclick/sclick/dclick/rclick/rdclick/hover/selected/deselected SUBITEM index is now 1-based indexes
      32. listview event labelbegin now provides N and NSUB
      33. colorcombo /xdid -c now accepts 0 to clear selection (thanks andy for idea)
      34. moved VALUE param to the end of events (no syntax changes required)
      35. OpenDialog and SaveDialog now also return the full pathname
    • Fixes and changes
      1. added check for correct flags prefix '+' in image control xdid -i
      2. added /xdid -Z as a temporary fix until the -Z listview problem is fixed
      3. changed WM_CTLCOLOR message parsing so they work correctly when a background brush is not set (fixed /xdid -C bug)
      4. changed AdjustMDIRect() to reserve space for docked dialogs only if they are visible. This has a side effect in that dialogs docked within the init event never have the visible flag set so show up wrong, This is fixed by using a timer
      5. changed /xdialog -x to send WM_CLOSE instead of using DestroyWindow()
      6. changed /xdid -T to use ListView_SetInfoTip()
      7. added fix for 1px images being stretched
      8. changed $xdid().text to use a 1-based index for parameter N
      9. fixed directshow $xdid().currentpos
      10. changed directshow /xdid -a to InvalidateRect() after loading media
      11. fixed listview bold/underline/etc flags being misapplied to subitems
      12. fixed /xdid -a stacker check for numtok
      13. image fixed background updating when transparent.
      14. fixed /dcx WindowProps check for -FLAG to +FLAG
      15. fixed the box border style when no text is supplied
      16. changed listview /xdid -a to check for nPos < 0 rather than == -1
      17. changed stacker WM_DRAWITEM to only set back mode to TRANSPARENT when doing non-formatted text rendering
      18. changed statusbar /xdid -t to check for an invalid part and give an error
      19. changed statusbar /xdid -v to give an error when an invalid part is supplied
      20. changed mdialog to set back to OrigID in destroy, instead of setting to ID
      21. /xdid -h and /xdid -s now update CLA immediately
      22. changed GetHwndFromString() to allow supplying an HWND (allows mdialog/mwindow to dock via the hwnd)
      23. changed /xdialog -d to remove the control from the internal list when its an embedded dialog/window
      24. changed object delete code to set parent differently (this fixes most but not all of the undocking problems)
      25. changed /xdid -J to use LoadImage(IMAGE_CURSOR) and get a non-shared cursor handle (this allows us to delete the cursor and fixed the graphics corruption bug)
      26. changed /xdid -J to check if file exists
      27. changed /xdialog -q to check file exists
      28. changed WM_SETCURSOR code to check if the cursor to set is the same as the current before trying to set
      29. changed pager /xdid -d to remove mdialog or mwindow control from the internal list
      30. changed edit /xdid -j to set the ES_PASSWORD style before getting the char, allowing the XP style to be used instead of always setting to *
      31. small change to some xpopup if's to use a TString compare instead of doing a gettok as well
      32. added a buffer delete to IsFile() to cover the case where the search fails after having found the file the first time
      33. changed /xpopup -b to check a file exists and give an error if it doesnt
      34. changed /xpopup -b to accept 'none' or $null as a file name to remove current image
      35. changed /xpopup -i to check a file exists and give an error if it doesnt
      36. changed $xpopup().style to support 'vertical' and 'verticalrev' styles
      37. changed dcxLoadIcon() to use GDI+ when +P is supplied. this allows it to load any GDI+ supported image format as an icon
      38. changed dcxLoadBitmap() to use GDI+ when it can to load the image. this allows all bitmap loading commands to load any GDI+ supported format
      39. fixed incorrect coordinates of toolbar dropdown
      40. changed ChangeHwndIcon() to avoid doing things twice when small and large icons are the same
      41. changed /xpopup -b to trim() the filename
      42. fixed rebar wasn't returning the results from child controls
      43. changed directshow /xdid -a to check for a min of 4 args
      44. added a check for at least 4 args in subitems to listview /xdid -a
      45. changed listview /xdid -t to use the autoSize() function
      46. added check for directx 9 to directshow /xdid -a
      47. fixed trackbar thumb image rendering when selected
      48. changed /xdialog -j to only redraw the whole dialog if an ID isnt specified
      49. changed /xdock -A to halt on error
      50. fixed bug where button text would be forgotten when other buttons were deleted
      51. all dcx controls automatically redraw themselves upon theme change
      52. fixed /xdock -u requiring flags
      53. added background color drawing to panel via /xdid -C
      54. added directshow $xdid().volume to get current volume
      55. added directshow /xdid -V to set volume
      56. added directshow events rbdown, rbup and rclick
      57. fixed xpopup bug in DrawItemCheckBox() where pen was deleted without first being removed from HDC
      58. fixed duplicate sclick event when clicking on an unselected tab
      59. fixed treeview bug when moving an item to an empty parent
      60. fixed listview $xdid().pbar to work correctly
      61. added code to fix listview font changes per subitem
      62. added code to make sure listview has focus before doing a label edit. No longer need to force focus first
      63. changed ghost drag to use the set alpha level after a drag instead of 255
      64. changed button background drawing a little
      65. changed pbar/image background drawing to only do parents background when transparent
      66. fixed tab bug where incorrect button ID was shown in sclick event
      67. fixed xpopup menu corruption when MDI client (channel) window is maximized then restored
      68. modified checkbox so correct $xdid().state value can be used during sclick event
      69. changed /xdialog -x to only send WM_CLOSE to modal dialogs
      70. added WM_CLOSE check for escape being pressed. Fixes divider being destroyed bug
      71. fixed listview pbars within items scrolling oddly when horizontal scroll is used
      72. changed /xdialog -t alpha and /xdialog -t transparentcolor to accept 'none'
      73. fixed bug with /xtray -i loading the wrong icon index
      74. changed /xdid -U to remove focus from control correctly
      75. changed how the panel and box controls are registered, which fixes the 'no tooltips' and 'label edit' bugs
      76. changed dcxSignal boolean into a finegrained struct
      77. changed mIRCSignalDCX() to require a boolean parameter
      78. changed SystemTimeToMircTime() to use mIRCevalEX()
      79. xtray and xstatusbar signals are now sent by default, but xdock signals are still disabled
      80. fixed calendar 'select' callback for single select
      81. fixed calendar $xdid().value returning 0 for single select
      82. added spaces between names in Version and changed '&' to 'and'
      83. added initImageList() for listview to make icon adding code cleaner
      84. added token count checking to /xdid -j
      85. ColorDialog, OpenDialog, SaveDialog, FontDialog and MsgBox. They no longer support modeless owners due to FindOwner()
      86. fixed /xdid -a so it adds to end if N out of range (thanks andy)
      87. fixed $xdid(listview).sel from appending unecessary comma at the end of list
      88. fixed /xdid -Z, but only for report view
      89. /xpopup -R +a 255 no longer causes a minor flicker when it tries to set opacity even when not supposed to
      90. fixed isverbose bug, missing ','
      91. fixed a small delete bug in listview xdid -o
      92. changed /xdid -c/-d/-o to take item number 0 as meaning the last item in list
      93. changed activateSelectedTab() to not activate or redraw an inactive tab when sizing
      94. changed ExecuteLayout() to use SWP_NOACTIVATE | SWP_NOREDRAW | SWP_NOOWNERZORDER
      95. changed getFont() to return an HFONT and to use the GetWindowFont() macro
      96. changed getAnimateStyles() to check for a valid + flags char and to use a switch() statement
      97. changed listview/treeview regex search to allow for multiple matches to pattern
      98. fixed mIRC_DrawText() not vertically centering text when DT_VCENTER was used
      99. changed mIRC_DrawText() to reset font weight to original weight on a ctrl+o
      100. added check to DrawDialogBackground() for temp hdc being NULL
      101. changed treeview item select code to stop bkg image being skewed when an item is expanded
      102. changed /xdid Invalid ID error to reflect that it is an xdid error
      103. changed treeview drawing a little when transparent. Now only sets noredraw when WS_EX_TRANSPARENT
      104. treeview - changed /xdid -a to mask out the dcx flags as these were messing up the overlay and state icons.
      105. treeview - changed parsePath() to return the item handle instead of TVI_xxx values (needed for xml saving).
      106. dialog - added workaround for richedit not redrawing correctly in buffered redraw (WM_SIZE)
      107. xdock - now supports treebar class in mIRC v6.30
      108. text - fixed redraw bug when control is enabled/disabled and formatted text is being used.
      109. xdock - changed AdjustRect() to correctly position treeview within treebar when statusbar is on.
      110. xtreebar - fixed style `ident` to be `indent`
      111. box - fixed mem leak in $xdid().inbox
      112. statusbar/xstatusbar - added check to -l command to stop the % parts adding up to > 100%
      113. toolbar - fixed /xdid -q bug where the command id was used but the TBIF_BYINDEX flag was specified.
      114. toolbar - changed /xdid -c and -i to use the TBIF_BYINDEX flag.
      115. xtreebar - added check for valid - char in switch.
      116. xtreebar - improved the handling of a non-winsdk compile.
      117. xtreebar - added an enum for all the /xtreebar -s styles.
      118. xtreebar - changed invalid style error to return the style in question.
      119. xtreebar - changed /xtreebar -c to check for a valid + char in flags.
      120. xtreebar - changed the image list we create in /xtreebar -w to use the icon sizes in the default list instead of 16x16 (this is still the default if the sizes cant be found)
      121. xpopup - changed /xpopup -l to accept `default` in place of an RGB value
      122. xpopup - changed $xpopup() to support the mirc and mircbar menus.
      123. xpopup - changed /xpopup -p to accept `default` as a colour value.
      124. xpopup - changed XPopupMenu::DrawGradient() to reduce the width by `dy` just like it reduces the height. This stops the right hand border being drawn over.
      125. xpopup - fixed bug where $xpopup().ismenu would always return $false
      126. dialog - fixed a bug in parseComControlRequestEX() where p_Control wasnt checked for NULL.
      127. listview - changed $xdid().mouseitem to return the subitem as well.
      128. edit - changed text handling code to support wide chars.
      129. xpopup - added monitor offset to menus opened by xpopup -s (requires testing)
      130. toolbar - fixed /xdid -c for first button.
      131. richedit - fixed link event not triggering
      132. richedit - fixed crash on link event
      133. richedit - fixed crash for $xdid().text on single line (need to add multi line number range check)
      134. richedit - added line number checks to $xdid(N).text to ensure it is within a valid range (0 < N < line count)
      135. xpopup - changed /xpopup -s to adjust menu position on the assumption that the x & y are relative to the client rect when an hwnd is supplied.
      136. ipaddress - commented out unecessary /xdid -r code
      137. (rich)edit - added code to /xdid -S to move caret to selected text
      138. button redraws after icon is set
      139. fixed tooltip hwnd wasnt correctly initialized to NULL
      140. changed CreateHDCBuffer() to copy the Pen, Brush, Layout & Font too
      141. added getting of the GetThemeColor() function from uxtheme
      142. button/text/ipaddress - changed the handling of `tooltips` style to report an error if tooltips havent been enabled for the dialog
      143. text - changed /xdid -t to use InvalidateParentRect()
    • DCX Project
      1. added VS2008 project files
      2. removed commented code
      3. added TGetWindowText() function which gets the window text as a TString
      4. fix possible memleak with treeview setImageList()
      5. moved some mIRC HWND's into mIRCLink
      6. changed $dcx(GetSystemColor), $dcx(ColorDialog), $dcx(FontDialog) and $dcx(GetTaskbarPos) to avoid an unneeded copy to set the return value
      7. made parseListviewExStyles() and createImageList() static functions
      8. added dcxDock class which handles behaviour
      9. changed UltraDock to use new dcxDock class
      10. added TreebarDock using dcxDock class, which takes the same flags as UltraDock
      11. changed /xdock -b to use the new TreebarDock by default
      12. moved the drawing code for images to DrawBMPImage() and DrawGDIImage()
      13. updated dcx_tools.mrc /xdock alias to pass along $2-
      14. added DrawItemImage() for stacker to render the items image
      15. added mIRC_DrawText() function which draws a mIRC string using mIRC control codes
      16. changed IsFile() to do a file search before saying it can't access a file (allows it to find files in the system PATH)
      17. moved a whole bunch of functions out of misc.cpp and into mircFunctions.cpp or windowFunctions.cpp
      18. changed dcx_tools.mrc /return calls to /returnex
      19. added defines to TString such as SPACE, TAB, COMMA
      20. changed all controls to have an improved parseInfoRequest() that uses a TString prop instead of doing lots of gettoks
      21. changed some to_num() calls to to_int() when the number was typed as an int
      22. changed the $xpopup().style to use a switch statement instead of the ifs
      23. fixed statusbar $xdid().tooltip using gettok(3) when it should have been gettok(4)
      24. changed DrawParentsBackground() to only use dhwnd if it is not null
      25. changed WM_CTLCOLOR messages to set the background mode as TRANSPARENT and return a HOLLOW_BRUSH when the control hass WS_EX_TRANSPARENT set. this improves the look of some controls abit (exp radio or check)
      26. changed box to use a TString object from right after GetWindowText()
      27. changed to be always transparent
      28. moved DCXML out of dialog into its own section
      29. moved some defines to before the includes in defines.h to allow testing out the _SECURE_SCL 0 in the release builds
      30. toolbar changed to use MapWindowPoints() instead of ClientToScreen() and ScreenToClient()
      31. added NULL check to unregistreDefaultWindowProc()
      32. fixed memory leak in BitmapRegion()
      33. uncommented file access check from ChangeHwndIcon()
      34. changed some ifs in BitmapRegion() to make the meaning clear
      35. added a RGN_DATA count check before final create region
      36. fixed memory leak in background bitmap drawing
      37. changed all cursor code as needed to delete the LoadImage() cursor.
      38. fixed a small memory leak in BitmapRegion() when CreateDIBSection() fails.
      39. changed dcxLoadIcon() and ChangeHwndIcon() to take a flags argument
      40. Initialized some stacker vars to NULL
      41. changed radio WM_PAINT to set the text colours as set with xdid -C
      42. changed check WM_PAINT to set the text colours as set with xdid -C
      43. changed $xpopup().style to use a switch() instead of lots of ifs
      44. changed parseTrackFlags() to use a switch() instead of lost of ifs
      45. changed updateLayout() to return true/false to tell if it does anything or not
      46. changed button drawing code to check HDC is non-NULL before drawing bitmap
      47. fixed small memory leak in button bitmap drawing
      48. made getAnimateStyles() public
      49. added resizeBitmap() function. this resizes the supplied bitmap to matched the supplied RECT. if the resize works the old bitmap is deleted and the new one returned, otherwise the old bitmap is returned
      50. changed isPatched() function to be a const function
      51. added GetDXVersion() via getdxver.cpp. this is a function supplied by MS in its tutorials for getting the DirectX version. (dll needs to link with version.lib now)
      52. changed LoadDLL() to check for DirectX9 and set a variable if its found
      53. changed IsUsingDirectX function to check for DirectX version, function now replies with either the dx version or $false if no dx was found
      54. fixed small possible memory leak in trackbar custom drawing
      55. added showError() function to replace all other error display functions
      56. changed some error return codes to be 0 (halt)
      57. changed WM_HELP event to set itself as handled
      58. changed updateParentCtrl() to be a little bit faster when parent is dialog
      59. added CommonMessage() function to DcxControl class to handle WM_xxx messages that are common to all controls, like WM_HELP. DLL about 10k smaller
      60. changed SetupAlphaBlend() to pass on the client rect to DrawParentsBackground()
      61. changed to use TBSTYLE_xxx
      62. added WM_PRINTCLIENT to all controls, needed for AnimateWindow() and new transparency/alpha code
      63. changed DrawParentsBackground() to work in a manner similar to Vista's DrawThemeParentBackgroundEx()
      64. added getting DrawThemeParentBackgroundEx() from uxtheme.dll on Vista
      65. streamlined updateParentCtrl() function for new parent rendering method
      66. added DrawThemeParentBackgroundEx() usage on Vista to DrawParentsBackground()
      67. removed an unneeded updateParentCtrl() call in button control
      68. changed stacker item drawing code to move the right hand edge within the border
      69. added code to free uxtheme.dll on dll unload
      70. updated CreateGrayscaleIcon() to new code from The Code Project that supports 32bpp
      71. added InvalidateParentRect() which invalidates a controls area on its parent
      72. Tstring changed some compare operators to be constants
      73. Tstring changed the char[] operator to be const
      74. added DCX_USE_WINSDK to defines.h as a way to disable code dependant on the Windows SDK (Vista)
      75. fixed copyright from 2006 to 2006-2007
      76. added some comment sections to defines.h (getting real messy!)
      77. DLL now gets GetThemeBackgroundRegion() and GetWindowTheme() function pointers from uxtheme.dll
      78. added IsVistaStyle() function
      79. changed button background drawing to only be done within the WM_PAINT event
      80. added mIRCevalEX() which takes a formatted eval string
      81. changed themed drawing to Open/CloseThemeData() instead of doing GetWindowTheme() to help maintain the correct region
      82. streamlined listview/treeview sortItemsEx() and matchItemText()
      83. added SetupOSCompatibility()/FreeOSCompatibility() functions to handle getting function pointers
      84. changed AnimateWindow()/FlashWindowEx()/InSendMessageEx()/GetWindowInfo() calls to be function pointers. hopefully this should fix the win98 compatibility problems
      85. added getting DwmIsCompositionEnabled() function pointer. it is used to determine if user is on on Vista and if Aero is enabled
      86. added WINVER >= 0x600 checks to includes for theme stuff when compiling as Vista
      87. added WM_DWMCOMPOSITIONCHANGED define
      88. updated shadow code to match latest v03 from code project
      89. now disables shadows when on Vista and Aero is enabled
      90. lots of little changes/fixes for things only noticed with the Intel compiler
      91. made error messages look consistent across project
      92. created new dcx_demo.mrc that uses DCXML and showcases most of the controls
      93. added CreateHDCBuffer()/DeleteHDCBuffer() to create a temp HDC for buffered drawing
      94. changed some image SelectObject() calls to macros for the types
      95. most controls now use GDI+ to draw where possible
      96. added comment for CTLF_ALLOW_DOCK
      97. moved $shell alias from dcx_tools.mrc to dcx.mrc (which has a bunch of broken demos anyways)
      98. changed all SetWindowLong(.. GWL_WNDPROC,..) calls to be SetWindowLongPtr()
      99. added test code to listview NM_CLICK to allow selecting subitems (NEEDS TESTING, SUBJECT TO CHANGE/REMOVAL)
      100. added listview LVN_GETINFOTIP message handling to set tooltips
      101. changed treeview /xdid -w to only gettok the flags once
      102. added listview /xdid -r comment
      103. added SetVerbose() to dialog
      104. added IsVerbose() to dialog
      105. added error checking to treeview TNV_GETINFOTIP and TVN_SELCHANGED
      106. added note about this->getExStyle() in listview mode at top of source file
      107. listview grid style now redraws properly when scrolling
      108. changed default colour values to CLR_NONE
      109. added m_clrBackground var for bkg colour (colour of m_hBackBrush)
      110. added file access error to /xdid -J
      111. added file access error to /xdialog -q
      112. changed file access error report to return the file name too for directshow, stacker, treeview and image
      113. added invalid item error reports to listview /xdid -B/-c/-d/-j/-k/-l/-v/-T
      114. added redrawBufferedWindow() function to redraw a dialog without flicker (atm not for use by child controls, may fix/change this)
      115. changed WM_SIZE to use redrawBufferedWindow() instead of redrawWindow()
      116. added check for WS_EX_COMPOSITED to redrawBufferedWindow()
      117. added notes about redrawBufferedWindow() and Vista style/Composited
      118. changed mIRCeval() and mIRCevalEX() to take a maxlen var which contains the size of the result buffer
      119. changed tstring numtok() to return 0 when string is empty, instead of 1
      120. made getAnimateStyles() arg a const
      121. changed box and panel controls to use CS_PARENTDC
      122. changed LayoutManager::updateLayout() to return a BOOL
      123. changed drawing a little
      124. changed box/panel CLA to only force a redraw on wm_size when it actually does something
      125. changed CreateHDCBuffer() to take a const rect arg
      126. changed dshow properties enum
      127. added DCX_USE_BOOST define to defines.h to enable using the Boost libraries for regex features
      128. direct show - disabled the long-double conversion warnings
      129. treeview - changed the values of all the dcx TVIS_xxx defines to take them out of the range of the state and overlay icons.
      130. divider - included AggressiveOptimize.h
      131. xdock - added DcxDock::status_getTextLength() to return an items text length.
      132. xdock - changed some cmd args into constants
      133. xstatusbar - changed the part set/get text cmds to use an allocated buffer of the right size, instead of a static size.
      134. general - changed DrawCtrlBackground() to draw a gradient using the colours set by /xdid -C when the control has either the hgradient or vgradient style.
      135. box - changed to use DrawCtrlBackground() instead of FillBkg()
      136. general - changed some CLR_NONE refrences to CLR_INVALID
      137. general - changed DrawCtrlBackground() to FillRect() with COLOR_3DFACE when controls disabled.
      138. text - improved drawing a little, now uses COLOR_GRAYTEXT when control is disabled.
      139. tstring - added a new constructor which takes a buffer size to allocate.
      140. general - changed timeout check to check for != 1 instead of == 0
      141. general - misc macro usage changes.
      142. general - made some TString function args consts.
      143. general - moved DirectX checking out of the LoadDLL() function to speed up loading. check is now moved into a DXSetup() function which is called by $dcx(IsUsingDirectX) or when a file is loaded into a directshow control and DX9 hasnt already been found.
      144. xtreebar - changed /xtreebar command to always do a RedrawWindow() at the end.
      145. general - changed the xpopup class setup to use the already defined WNDCLASSEX
      146. general - changed the xpopup owner window to be of type HWND_MESSAGE on XP+
      147. xpopup - added XPopupMenu::setDefaultColor() to allow resetting a specified colour to its default.
      148. general - added macro dcxRegisterClass() to register most of the dcx classes
      149. TString - changed TString.to_wchr() to support utf8 encoding.
      150. general - changed mIRC_DrawText() to support utf8 encoded text.
      151. general - added getting DrawThemeEdge() function pointer from uxtheme.dll
      152. general - changed DcxControl::controlFactory() and all controls to throw an exception when unable to create the window.
      153. general - changed DrawCtrlBackground() to draw themed background (trying to fix some drawing bugs whem themed, may reverse this if its not helping)
      154. xdock - added function UnDockAll(). Its only called during cleanup atm.
      155. moved declaration of VectorOfXPopupMenu to top of file
      156. datetimepicker - updated link for msdn docs
      157. toolbar - removed some commented debug code.
      158. treeview - $xdid().text (& others i expect) were unable to get the first item. This was caused by correctTargetItem() returning FALSE when TVI_ROOT was passed.
      159. xpopup - getMenuByName() can now search special menus (can be turned off by boolean parameter)
      160. trackbar - option was undefined when not using winsdk.
      161. tstring - added comment about deprecated function in TString.sprintf()
      162. xpopup - changed parseTrackFlags() to take a const arg.
      163. changed /xpopup -x to use a switch() instead of a series of ifs
      164. changed $xpopup().exstyle to return all the styles instead of just one.
      165. shortened $xpopup().isrounded
      166. changed XSwitchFlags to be a class, and cleaned up the flag switches in code
      167. added comments to code when /xdid -r has no code (to say it was to prevent invalid flag message)
    • Documentation
      1. fixed errors in dcxdoc
      2. reworded stuff
      3. cleaned up some arrays so they look more consistant
      4. fixed docs to work with php5 when short_open_tag is Off
      5. updated dcxvsmdx page
      6. fixed year of copyright to be dynamically generated by php (andy)
      7. removed a duplicate dcx_inc.php in /doc
      8. updated license files to 2007
      9. removed v1.4 comment (no such version yet)
      10. added writeDcxLoadIcon() to handle documentation for controls which use dcxLoadIcon
      11. added array_insert()
      12. fixed description for tab control
      13. fixed description of /xdialog -b +o
      14. fixed descriptions for /xdid -f CHARSET
      15. added a note for listview /xdid -Z
      16. fixed tutorial example missing a close-brace in xpopup page
      17. removed unecessary parameters in /xtray -d
      18. removed 'alpha' from events
      19. changed global style message to exlude embedded dialog/window controls
      20. added a note to comboEx styles to state the height is required for the dropdown
      21. uncommented multiple examples for $dcx(ColorDialog)
      22. moved some args to be arranged in alphabetical order
      23. fixed some broken wiki tags
      24. added xtreebar.php and xstatusbar.php
      25. removed "selstart" from statusbar properties (copy paste remnant)
      26. fixed grammar and reworded writing to be easier to understand on xdock page
      27. removed alot of unnecessary array declarations in $xdock properties
      28. added a note for all docking commands about dialogs within the INIT event
      29. fixed incorrect table tagging in credits section
      30. added notes about docking during dialog INIT in all /xdock docking functions
      31. moved part of image /xdid -o description to notes
      32. moved change log below callback section on index page
      33. renamed VALUE to PARAM on index page
      34. fixed a bug in /format_xcmd_header which caused examples with '0' values to be ignored
      35. updated 'owner' style description/notes for ColorDialog, OpenDialog, SaveDialog, FontDialog and MsgBox. They no longer support modeless owners because of FindOwner()
      36. updated return value to $null for OpenDialog, SaveDialog and FontDialog
      37. fixed description for ICON in listview /xdid -l
      38. fixed description for 'notrack' in listview trackbegin
      39. added diagonal examples to /xdialog -a, /xdid -h and /xdid -s
      40. added operating system note to /xdialog -a, /xdid -h and /xdid -s
      41. fixed section heading in xpopup page for Special menus and Xpopup item path
      42. fixed description for /xpopup -b only supporting BMP when GDI+ is not available
      43. fixed description for /xpopup -d, as it also removes menus with items in it
      44. fixed edit keyup and keydown events to include example
      45. fixed keyup typo
      46. cleaned /xdid -Z for richedit notes array
      47. updated list of controls available for /xdialog -c
      48. updated list of controls which box, divider, pager, panel, rebar and statusbar support
      49. changed the format which box, divider, pager, panel, rebar and statusbar list supported controls
      50. a list of these controls can be found at http://dcx.scriptsdb.org/controls.xls
      51. updated main page PARAM = $4-
      52. removed /xdid -l NSUB being 0-based index when it isnt
      53. added comment to 'editlabel' style in listview
      54. changed note for listview grid style
      55. removed +h copy paste remnant from note in listview /xdid -t (thanks hkr)
      56. fixed xdialog 'close' details and added 'scclose' events
      57. reworded parts of XTray Signals section
      58. added notes to dialog (embedded) control page and xdialog about closing docked dialogs within the close event
      59. added notes to dialog (embedded) control page and /xdialog about closing docked dialogs within the close event
      60. edited /xdialog -g comment about BMP files
      61. fixed stacker /xdid -a example and parameters
      62. added example for listview /xdid -j
      63. fixed listview seltext/pbar/keydown example
      64. commented out box checkchange event
      65. added error checking to see if examples exist when a command is set
      66. updated format_parameters() so it doesnt accept '0' as '__args'
      67. fixed ALOT of things in the docs such as missing parameters, outdated examples, inconsistancies with examples (big thanks to andy for spotting em out)
      68. moved directshow /xdid -V so its in alphabetical order
      69. removed a few redundant notes
      70. added missing examples for many events on numerous control pages
      71. fixed C:\mIRC\ error not displaying on a few pages, simply changed it to C:/mIRC/
      72. added note to listview labelbegin event
      73. reworded some events for scroll and trackbar
      74. added some notes for 'dl_progress' for webctrl
      75. renamed IS_ENABLED to ENABLED for webctrl events
      76. updated /xdid -Z on /xdid page
      77. removed /xdid -Z on listview page
      78. removed duplicate entry for /xpopup -R
      79. removed unnecessary MENU declaration from /xpopup -R and useless note
      80. added operating system requirement to /xpopup -R +a
      81. fixed typo with trackbar tooltips style
      82. added a wiki tag [os]
      83. changed output html for changes.htm a bit so its not all in 1 line
      84. changed `&amp;` to `and` in changes.htm
      85. added dcxml documentation
      86. documented `check` and `checkchange` features in box
      87. fixed /xdid -m tabstop stuff for list
      88. fixed /xdid -R descriptions for +f
      89. updated dcx_inc.php comment for array_insert()
      90. updated dcx_inc.php comment for array_insert()
      91. fixed list /xdid -m tabstop stuff
      92. fixed /xdid -R descriptions for +f
      93. listview /xdid -j, fixed STATE/+FLAGS inconsistancy
      94. toolbar /xdid -a fixed incomplete wiki tag
      95. fixed section labelling for dcx vs mdx and CLA pages
      96. changed 'Index' to 'Home' in left menu
      97. added hkr to helpers in Credits
      98. removed useless "cell text is optional" notes from statusbar -v and -t commands
      99. cleaned up /xdid -y for statusbar
      100. added some margin space between left menu and main content
      101. put some padding for links in left menu so it has more of a ladder hierarchy
      102. removed translated docs
      103. removed additional div in SECTION label so css can have more effect on text
      104. fixed SECTION_INTRO on treeview page
      105. dcxdoc_print_description() now accepts null as $caption
      106. fixed SECTION_GENERAL problem with tutorials page
      107. added new line break to dialog notes
      108. fixed extremely stupid ie7 case insensitive anchor bug (eg. /xdid -T would link to /xdid -t)
      109. updated comment for dcxLoadIcon() flag +a
      110. added dcxLoadIcon() flags to stacker /xdid -w
      111. fixed grammar mistakes on Open/Save/Color/Font/Msg dialogs
    v1.3.7
    • New features
      1. added $xpopup().isPatched
      2. added /xdialog -z, $xdialog().zlayer and $xdialog().zlayercurrent. Useful for creating tab-like pages for configuration dialogs and wizard type screens
      3. added $dcx(IsUnloadSafe)
      4. added new +x flag to /xdialog -b to enable composite rendering on XP+
      5. added $xdid(listview).columns
      6. added /xdid -i +s flag to set selection color for treeview
      7. added $dcx(IsUsingGDI)
      8. added $dcx(IsUsingDirectX)
      9. added alpha style for many controls
      10. added DirectShow
      11. added Stackerv
      12. added DateTimePicker
      13. added wordwrap support to transparent on text control
      14. added DCXML (still experimental)
      15. added $xdid(dname,id).alpha to tell if a control has the alpha style or not.
      16. added $xdock(mIRC).toolBarPos
      17. added $xdock(mIRC).treeBarPos
      18. added /xdialog -R dname +s which adds a shadow effect to the dialog
      19. added XTray
      20. added /xpopup -m mirc to patch mIRC allowing xpopup to work on mIRC 6.20
      21. added /xdock -F to set the treebar font, colors and styles
      22. added shadow style for many controls
      23. added support for combining regions via flags using /xdid -R and /xdialog -R
      24. added transparent global style
      25. added ghost drag for main mirc window via /xdock -G
      26. added ghost drag /xdialog -R dname +g
      27. added $xdid().range and .value to calendar
      28. modified $xdid(list).sel to include optional parameter N
      29. modified $xdid(listview).sel to include a new optional parameter N
      30. LoadDLL() now displays information related to dcx upon loadup if /debug is used in mIRC
    • Fixes and changes
      1. *** IMPORTANT *** image - changed /xdid -i to include flags
      2. *** IMPORTANT *** treeview - changed /xdid -a to include parameter for background color
      3. *** IMPORTANT *** calendar - changed calendar $xdid().selected to .value
      4. dialog - added max tooltip width of 400, this enables multiline tooltips by using $crlf in text.
      5. list - fixed memleak in $xdid().sel when n is not > 0
      6. progressbar - fixed a bug where some vars werent cleared on object creation.
      7. richedit - fixed memleak in $xdid().seltext
      8. image - fixed resizing bug
      9. added a check for invalid filename when loading icons
      10. list - changed $xdid().sel to limit the results length to 900
      11. listview - changed $xdid().sel to limit the results length to 900
      12. webcontrol - added error message to xdid -j when control isnt in ready state
      13. made WS_CLIPCHILDREN style apply to all controls
      14. webcontrol - changed it to be WS_CLIPSIBLINGS should help with some rendering issues
      15. xdock - changed DockWindow() to make parent window WS_CLIPCHILDREN and WS_CLIPSIBLINGS. this should help with rendering glitches
      16. changed gdiplus.dll to be a late loading dll to allow us to try and loading it without the dcx.dll failing to load completely. (this needs to be added to vs2003 project file)
      17. listview - fixed xdid -j bug where lviDcx wasnt checked for NULL
      18. listview - changed xdid -a to always add an lviDcx
      19. listview - removed duplicate code in xdid -a
      20. image - added setting the smoothing mode for gdi+ to aliased
      21. added error message to xdialog -R when a region couldnt be created
      22. Improved background rendering abit
      23. tab - added quick fix for tab closing when escape is pressed
      24. toolbar - fixed imagelist bug which caused display corruption
      25. tab - sclick now works for active item, and rclick work for inactive tabsv
      26. box - changed the drawing code abit to show the parents background abit better outside the box bounds
      27. fixed bug where tab control wasnt passing on child controls result codes
      28. richedit - fixed mem leak in $xdid().text
      29. $xdid().num on RichEdit now returns the real ammount of lines instead of always returning 1
      30. button - fixed BS_DEFPUSHBUTTON style not working
      31. listview - fixed rendering problem where item wouldnt be updated after being selected if a background picture was set
      32. listview - fixed /xdid -r bug that crashed mIRC
      33. toolbar - added error message for invalid flags symbol to xdid -w
      34. list - fixed mwheel support
      35. listview - fixed bug where you couldnt use /xdid -v on a listview item with a progressbar without it thinking it was a progressbar command, even if it was for a different subitem
      36. calander/datetime - fixed a bug where a TString object was used directly in an wsprintf instead of doing to_chr()
      37. readded quickfix for richedit excessive selchange
      38. changed calendar $xdid().selected to return 2 values even if not MULTI select
      39. changed Image to have auto image resize TRUE by default (this would break less scripts)
      40. renamed $xdock() functins to start with lower case (it was inconsistant with other property functions)
    • Dcx code
      1. changed dcxSetWindowTheme() to actually pass on the args to the theme dll
      2. set load->mKeep to TRUE
      3. changed some function args to be const
      4. dialog - changed tooltip hwnd check to use IsWindow() instead of != NULL
      5. dialog - added safeToCloseAll() function to dialogcollection.
      6. dialog - changed getName(), getAliasName() and getParentName() to return const refrences to the TString objects instead of new objects.
      7. dialog - small change to getDialogByName() to cast the TString object for compare.
      8. changed $xdid().pos, $xdid().dpos and $xdid().mouse to use MapWindowPoints() instead of ScreenToClient()
      9. dialog - rewrote DrawParentsBackground() to avoid creating an HDC unless it needs to, left commented old code in for refrence as this routine will need changed when/if we start giving ctrls bitmap backgrounds.
      10. dialog - changed $xdialog().mouse to use MapWindowPoints()
      11. dialog - changed DrawDialogBackground() to use client areas offsets instead of just zero.
      12. dialog - improved MakeShadow() by pre-calculating one of the PreMultiply() numbers instead of doing it within 2 loops.
      13. listview - changed $xdid().columns to use lstrcpyn() instead of wsprintf() when result is zero
      14. progressbar - changed WM_ERASEBKGND to render parents bkg when transparent
      15. image - changed /xdid -w to use MapWindowPoints()
      16. text - changed /xdid -w to use MapWindowPoints()
      17. added an extra error report to ChangeHwndIcon()
      18. changed ret() define to limit the copy to 900
      19. added an IsFile() check to dcxLoadBitmap()
      20. changed some parseGlobalInfoRequest() results to avoid buffer overflows
      21. changed defines.h to enable GDIPlus v1.1 specific stuff
      22. richedit - moved some vars in constructor
      23. statusbar - small change to $xdid().parts loop
      24. added IsFile() function to see if a file can be accessed or not
      25. added GetLastStatusStr() function to get string that go with GDIPlus error responses
      26. changed LoadDll() to place dll into non-gdi+ mode if GdiplusStartup() fails
      27. webcontrol - changed to use TString.to_wchr() where applicable
      28. listview - changed the constructor to insure that this control isnt WS_CLIPCHILDREN
      29. removed commented includes and constructors in most controls
      30. added new build called Development. This build is for dev releases and is the same as Release build except that it defines DCX_DEV_BUILD
      31. added a check for the avalibility of gdiplus.dll that sets a flag when the dll cant be loaded and displays a warning
      32. changed debug messages that rely on /debug on in mIRC to use a define DCX_DEBUG which can be easily switched to output nothing for the release builds
      33. tstring - added to_float() function to return the string as a double floating point number
      34. added DCXDebug(Cmd, Msg), similar to DCXError(Cmd, Msg)
      35. added DCX_USE_GDIPLUS define to control linking with gdiplus.lib (affects image and stacker controls)
      36. changed controlFactory() ctrl mask to be 64bit
      37. disabled the #4995 warning (name was marked as #pragma depricated)
      38. xdock - changed the rest of $xdock() to use a switch()
      39. changed SwitchbarPos() so it can be reused for the diff windows
      40. improved the prop handling a bit
      41. added dcxDrawShadowText() function and changed controls that support the shadow style to use it
      42. changed SetLayeredWindowAttributes to be an optional function pointer which is only used if its avail
      43. added WM_COMPAREITEM forwarding
      44. changed DrawParentsBackground() to use themes when it can, and to recurse when the parent its transparent
      45. added AggressiveOptimize.h to project
      46. changed mapfile code to detect mIRC 6.20 or 6.21+
      47. box - changed EnumBoxChildren() to only disable controls that are direct children of the box, not grandchildren
      48. tstring - changed to use CopyMemory()
      49. pager - removed WM_COLORDLG handling
      50. tstring - added to_wchr()
      51. change `sclick` and `rclick` callback events to be sent on mouseup
      52. box - commented BN_CLICKED message out
      53. text - fixed mem leak in wm_paint when transparent
      54. text - fixed styles when transparent, was hardcoded to be left
      55. tab - moved var to outside while loop in xdid -r code
      56. added DrawCtrlBackground() which handles drawing of a controls background
      57. changed DrawDialogBackgroundBitmap() to DrawDialogBackground(), now also handles background brush
      58. listview - added LVN_DELETEALLITEMS handling to listview to insure we always get an LVN_DELETEITEM message
      59. added getBgBitmap(), getBgTransparentCol(), and DrawDialogBackgroundBitmap() functions to dialog class
      60. changed /xdialog -g to call redrawWindow() instead of InvalidateRect()
      61. added getParentCtrl() and updateParentCtrl() functions to DcxControl class
      62. added AggressiveOptimize.h and some misc changes to compiler setting for VS2005 for a smaller dll size
      63. changed most controls to use dcxLoadIcon instead of ExtractIconEx()
      64. updated SystemTimeToMircTime() to include time
      65. listviews/treeview - changed regex search to handle commas in the text or regex pattern
      66. moved MircTimeToSystemTime() and SystemTimeToMircTime() to misc.cpp
      67. fixed typo in dcxdatetime.h checking wrong #IFNDEF
      68. changed alot of TString object = string; to TString object(string);
      69. changed treeviews getPathFromVector() to be a static function
      70. added checks to /xdock docking commands for window already being docked elsewhere
      71. added a check for invalid SYSTEMTIME values for SystemTimeToMircTime()
      72. fixed bug with List tbitem where it returns too many items
    • Dcx Documentation
      1. fixed dcxdoc quirk with dialog events given the ID 4
      2. removed a fixed string comparison for SECTION_INTRO
      3. added note for gdi+ loading multiple formats for image
      4. added note for gdi+ on index for where to download it
      5. added example to /xdid -R
      6. moved xpopup events upwards
      7. reworded and fixed example for /mpopup
      8. updated Dcx vs Mdx
      9. removed anchor from subcategory for changes.htm
      10. removed note for /xdid -i for image about only loading BMP files
      11. added CShadowHwnd to credits
      12. new logo
      13. altered documentation style sheet
      14. altered some quirks in dcx_inc.php
      15. fixed general typos and copy/paste errors found in the forums
      16. reworded recommendation in calendar and datetime intro
      17. added a little drawing bug notice to calendar intro
      18. removed link to dcx_old docs
      19. fixed up intro for calendar
      20. added note for calendar /xdid -m
      21. lower-cased first letter of all $xdock() functions
    v1.3.6
    • New Features
      1. *IMPORTANT* added docking support! update your dcx_tools.mrc with the one supplied in the zip to include /xdock and $xdock
      2. *IMPORTANT* added /xdialog -T to create tooltips. must be done before using tooltips in your control!
      3. added pager control
      4. added "tooltips" style for button, ipaddress, pbar, richedit, updown, check, edit, image, link, radio, and text controls.
      5. added "balloon" style to listview and treeview (used with "tooltips" style)
      6. added new command /xdid -T to set the tooltip text for all controls which support the "tooltips" style.
      7. added $dcx(MsgBox)
      8. added caretpos property to edit and richedit control
      9. added gradient style to ProgressBars. use /xdid -c to set the start colour.
      10. added hover event to listview (only when hottrack is enabled)
      11. added /xdialog -w for setting icons to dialogs
      12. added dclick event to button control.
      13. added the ability to set the editbox contents in comboex control via /xdid -a
      14. added /xdialog -R to set a dialog regions (uses BitmapRegion() by David Gallardo Llopis)
      15. treeview, toolbar and tab tooltips now support tab characters
      16. added dclick event to listview even without an item selection
      17. added lbup and lbdown events for button
      18. added /dcx xSignal command to enable/disable the DCX signal (disabled by default).
      19. added sending of DCX signal for window resizing. See /dcx xSignal and XDock Signals for more information
      20. changed /xdialog -t command parameters to allow setting an alpha transparency level and transparent color
      21. added $xdialog().parent for docked dialogs (only works if they have been Mark'd before docking)
      22. added "changing" callback event which can be used to stop a dialog being moved and/or sized by returning either "nosize" or "nomove" or "nochange"
      23. "nosize" no longer works for the "sizing" event
      24. added listview /xdid -n dname +s 0 flag to set column width to min required to show everything. (without enabling auto sizing)
      25. added autosize flags +a (autosize) +h (autoheadersize) +m (max size, max(autosize,autoheadersize)) to listviews /xdid -a command flags.
      26. added greyscale icon flag to button, listview, and toolbar controls
      27. added grayscale icon support to link, image, treeview, tab, statusbar, rebar, dialog, and comboex
      28. added rdclick event for right button double clicks on listview items.
      29. and some undocumented/reserved stuff for next release :)
    • Fixes and Changes
      1. *IMPORTANT* changed /xdid -w syntax for many controls to be consistant (uses flags similar to /xdid -c)
      2. *IMPORTANT* changed message handling for all controls, should be much simpler and faster now :) (needs alot of retesting)
      3. *IMPORTANT* only use /xdialog -x to close marked dialogs within callback aliases. avoid using /dialog -x if possible.
      4. removed all auto resize flags from listviews /xdid -t command, as these don't work.
      5. reimplemented /xdid -r so it could be used with other commands
      6. changed m_tsToolTip to now be part of dcxcontrol.
      7. fixed richedit control was allocating memory for unneeded buffers for calllAliasEx() and never freeing them.
      8. changed xpopup does not work message slightly
      9. fixed richedit to use COLOR_WINDOWTEXT rather than a hardcoded black
      10. removed debug message when setting auto hyperlinking
      11. ignore repeats in richedit
      12. changed if-case flow to prevent valid /xdid calls from being classified as invalid
      13. changed a loop in function unfoldColor() to use mod for speed
      14. changed FindOwner() to use TString.
      15. fixed position of caret for richedit being reset when focus is set
      16. changed edit and richedit's $xdid().num to return 1 for single line controls.
      17. fixed bug with mwheel not ever showing down
      18. fixed bug in listview, forgot to add parseListviewExStyles() to second creator. (fixes fullrow select etc.. problems)
      19. changed listview sclick, rclick, dclick callbacks to also include subitem number
      20. moved code for comboex constructors into a single ConstructComboEx() function.
      21. fixed notheme not working correctly on comboex.
      22. changed tab controls "childid" info request to be an else if instead of just if
      23. fixed colorcombo selection not showing.
      24. changed WM_MEASUREITEM handling to support more ownerdraw controls in the future.
      25. fixed bug with box "bottom" style applying "none" instead
      26. moved RemStyles() and AddStyles() to misc.cpp
      27. added workaround for comboex edit box click lockup.
      28. fixed treeview item ordering bug.
      29. changed /xdid -c and /xdid -B to ensure the treeview item is visible.
      30. button control now shows text in COLOR_BTNTEXT instead of black and disabled button text in COLOR_GRAYTEXT
      31. /xdid -r for ipaddress doesnt need at least 1 parameter anymore
      32. changed LoadBitmap() to dcxLoadBitmap() to avoid confusion with built in function.
      33. added a check for parameter count for statusbar /xdid -k
      34. changed some instances of hard tab strings into soft tabs
      35. alot of box control custom draw changes
      36. improved the handling on transparency in box controls abit.
      37. added iswm() to TString.
      38. made "Dialogs" globally accessible through dcxDialogs()
      39. removed /clearall from /demo in dcx_demo.mrc
      40. added function mIRCSignal() to contain arguments
      41. changed some manual signal calls to use mIRCSignal()
      42. added function GetHwndFromString() to get dialog hwnds
      43. added va_end(args) to a few misc commands.
      44. added TString.to_num() and TString.to_int() functions
      45. fixed listview /xdid -n bug where column count wasn't 0 based.
      46. changed richedit's loadmIRCPalette() to not need lstrcpy().
      47. added autoSize() function to listview to size columns.
      48. fixed TString gettok(n,M,seps) bug (this also fixes the xpopups submenu items problem)
      49. fixed memory leak with CreateGrayscaleIcon()
      50. fixed memory leak with imagelists in toolbar
      51. initialised "m_bBitmapText" for button which is a child of another control
      52. added a macro to stop "unreferenced formal parameters" from being treated as an error in release build
      53. fixed uninitialised warning for Toolbar::setImageList()
      54. added TString.find()
      55. fixed memory leak with imagelists in listview
      56. fixed statusbar $xdid().text always returning text to first part.
      57. fixed statusbar $xdid().parts not working.
      58. fixed statusbar /xdid -y invalidating the image list.
      59. changed dll load function to check all functions before setting XPPlus, returns error if any aren't set correctly.
      60. added setting XPPlus to FALSE if the theme dll can't load.
      61. removed some testing code in dialog
      62. added control type to /xdid command error message
      63. added incRef(), decRef(), getRefCount() to dialog's along to checks to xdialog -x, to avoid closing a dialog with its own callback event. (still crashes with /dialog -x though)
      64. you can now use /xdialog -x within a callback (it handles timers for you)
      65. added WM_THEMECHANGED handling to box control.
      66. changed box control so it doesn't get the sys colour twice.
      67. richedit now supports xp themes (using CRichEditThemed class by Patchou)
      68. and MUCH MUCH MUCH ... MUCH MUCH more!
    • DCX Doc
      1. removed downloads archive link from left menu
      2. updated dcx vs mdx page a bit (thanks Chrystoffer)
      3. thanks Andy for the help with dcxdoc for the Pager control
      4. added dclick to button events (thanks Andy)
      5. added the BSD license disclaimer
      6. changed wiki tag formatting code to be easier to maintain and more flexible
      7. added filesize to archive information
      8. added [n] and [f] wiki tags for dcxdoc (were missing and docs didnt process them)
      9. fixed typo in treeview dcxdoc
      10. updated num dcxdoc for edit and richedit
      11. fixed some confusing text in radio dcxdoc
      12. added gradient to pbar
      13. updated /xdid -c for pbar
      14. commented out support for [i]property[/i] tags in dcxdoc
      15. fixed xhtml validation for list of changes
      16. added valid css banner
      17. formatted some stuff in treeview doc
      18. changed the way dcxdoc generates files (easier to add new pages)
      19. reorganised dcxdoc functionality
      20. fixed some incorrectly labelled headings
      21. changed "XPopup Menus" link on left menu to "XPopup"
      22. small wiki tag changes to treeview
      23. fixed a whole bunch of [ID] confusion in various files
      24. fixed title bug "DCX DCX vs MDX"
      25. fixed various "WebControl" and "WebCtrl" inconsistancies
      26. cleaned up dcxdoc syntax generation
      27. added support for multiple examples in dcxdoc
      28. increased font size in dcxdoc by 1 point
      29. removed some manual "note" styles to use the proper wiki
      30. made the note on (docked) dialog intro more noticable and clear.
      31. added a note for "close" event on dialogs being sent twice
      32. download.php links to latest stable version correctly
      33. skips stable version in archive list
      34. removed link to index.htm for "DCX Controls" menu heading
      35. dcxdoc can now support multiple return values
      36. removed Webnet from dcxdoc credits, added forums and moved websites up over IRC
      37. added tutorials to dcxdoc
      38. added [code] wiki
      39. modified xpopup dcxdoc to use [code]
      40. removed old wiki code and some commented out headers
      41. removed old docs from repository
      42. moved alot of stuff from dcxdoc index page to dcx.htm, xdialog.htm and xdid.htm
    v1.3.5
    • DCX Changes
      1. fixed bug that caused mIRC to crash when changing text in a listview when no progressbar exists
      2. fixed a bug where edit ctrl /xdid -o wouldnt accept 1 word
      3. added 'vertical' and 'verticalrev' styles to xpopup menus
      4. got calendar select date event working properly
      5. fixed a bug causing /xdid -Q not to update removal of bold and underline from treeview item
      6. added $xdid().mouseitem for toolbar
      7. changed the way /xdialog -g background image options work
      8. fixed crash on /dll -u when dcx dialogs open.
      9. fixed grid scroll redraw issue (flickers alot though)
      10. added $xdid().dname to dialog control to retrieve its original dialog name
      11. fixed ipaddress mouse click crash.
      12. re-enabled ipaddress rclick and edit events.
      13. added sclick event to ipaddress controls.
      14. fixed corruption of toolbar button text when one is deleted (tooltip text still goes missing though)
      15. fixed button in tab crash.
      16. fixed edit control with text causing crash in tab and panel.
      17. added activate and deactivate events when dialog is activated and deactivated.
      18. keydown event no longer sends repeated keys (edit control)
      19. added arrow keys and caps lock to $dialog().key
      20. fixed GetTaskbarPos() bug where memory was never freed.
      21. added lbup event to image control
      22. removed same control checks from tab/panel, was causing a loop leading to stack overflow.
      23. fixed 2 memory leaks in calendar control.
      24. fixed xdid -U lockup, fixing this also solved many others.
      25. added 'rounded' style to box control.
      26. fixed webctrl activate crash bug.
      27. fixed comboex delete crashbug.
      28. /xdialog -d and /xdid -d (for panel/box) now removes control from internal list as well as destroying it.
      29. added mwheel event
      30. added /xdialog -j [id] support for individual control redraw
      31. added $xdialog().alias to retrieve alias function name
      32. added a check for existing alias upon marking
      33. made errors on marking more verbose
      34. fixed problem with listview extended styles being misapplied, causing listview to not appear when borderselect style is used
      35. added ability to set and retrieve tooltip background and text colors for toolbar.
      36. fixed toolbar bug that caused /xdid -c to always fail with invalid args error.
      37. added italics to treeview item styles
      38. added italic item support to listview
      39. fixed a bug with /xdid -k for richedit not applying background color to new text
      40. added balloon style to toolbar to be used with tooltips style to enable balloon tooltips.
    • DCX Project
      1. removed "alias ttop" from dcx_demo.mrc (thanks TheShadowOne)
      2. general code reformatting in listview
      3. moved ExStyle to parseControlStyles for listview
      4. added function for grayscaling icons (incomplete)
      5. added dcx_VS2005.sln to compile under Visual Studio 2005
      6. added addtok() to tstring class
      7. added UNICODE listview declarations to define.h so there is no longer a need to edit internal Visual Studio files
      8. added sanity check to WindowProc for props existance.
      9. removed duplicate WS_CLIPCHILDREN style
      10. merged the 3 copies WM_MEARSUREITEM code into one.
      11. added sprintf function to TString.
      12. changed error responses to use TString.
      13. changed WM_DELETEITEM and WM_DRAWITEM messages to not use GetDlgItem().
      14. added check to panels WM_NOTIFY and WM_COMMAND messages to stop messages from itself.
      15. added code to attempt to get "mIRCN" mapfile when dll is loaded on mIRC V6.2+, otherwise old "mIRC" mapfile is used.
      16. removed alot of unneeded buffers used with callAliasEx().
      17. removed some commented out code.
      18. added checks for blocking messages.
      19. added code to add/remove WS_EX_CONTROLPARENT to parent controls as children are added/removed.
      20. starting to clean up code to make it more consistant
      21. fixed a few error message inconsistencies and typos
      22. removed some unecessary comments, includes, and variables
      23. added Ook to Version credits
      24. added an error message when /xdialog commands are invalid
      25. added invalid command message for /xdid
      26. changed some error messages to make them more consistant
      27. added check for WS_TABSTOP style in child before enabling WS_EX_CONTROLPARENT in parent control.
      28. moved listview extended styles parsing to its own function.
      29. fixed TBN_GETINFOTIP event in toolbar, was handled incorrectly.
      30. fixed TBN_DELETING event in toolbar, was deleting the wrong buttons data.
      31. removed a whole bunch of redundant assignments to variables to improve speed slightly
      32. removed some unreachable code
      33. added extra checks for uninitialised variables
      34. fixed a code flow bug in trackbar upon drawing the thumb when using bitmaps
      35. fixed bug in TString.istok() function which caused it to miss the last token.
    • DCX Doc
      1. fixed a typo with /xdid -n for listview
      2. removed an unnecessary flag from /xpopup -i example in dcxdoc
      3. added daystate style and event to calendar control
      4. TODO: still a bug with dcxdoc where dialog events ID's are not 0
      5. added a few more people to the credits list
      6. added download.php
      7. included a reference to the version on changes.htm
      8. added an archive page
      9. incremented dcxdoc version to 1.3.5
      10. shifted some menu items for dcxdoc
      11. main download link now points to archive page
      12. added zipster to credits for testing
      13. changed the way some links worked for credits (tutorials)
      14. added link to EinsteinXXL's CLA tutorial
      15. added some comments at the end of long switch cases to make it easier to notice where they end
      16. fixed an error with /xpopup -x
      17. formatting of changes can now be structured to include categories
      18. added Ook to dcxdoc title
      19. script batch file now pauses to display output
      20. changed some credits titles
      21. updated screenshot for listview and treeview
      22. removed direct links to translation docs
    v1.3.4
    1. modified dcx.mrc to include an image control which displayed an icon
    2. changed output of $xdid().hwnd from hex to decimal
    3. fixed a bug with bmp transparency for image control
    4. fixed a bug with background drawing for image control when no background color is set
    5. added update background image when dialog resized
    6. added $xdid().selrange to trackbar
    7. trackbar now flickers less
    8. added /xdid -g for trackbar to set images
    9. added /xdid -o for trackbar to set opacity color
    10. added 'transparent' style to text
    11. box now looks consistant with group box static controls
    12. (hopefully) fixed deletion of docked dialog bug causing mirc to crash (thanks HAPM)
    13. added 'none' style but removed 'squared' style for box control
    14. updated /xdid -C dcxdoc, +k flag no longer applies to box control border
    15. box control now draws text colors for enabled and disabled appropriately
    16. /xdid -k command for button control now only works for bitmap buttons to load bitmap images and set transparency color (Read function note for further details)
    17. moved some functionality of /xdid -k to /xdid -c for changing button control caption color
    18. fixed a bug causing toolbar separators not to apply hidden state when added
    19. added $dcx(IsThemedXP)
    20. added 'transparent' style to box control
    21. fixed bug with OpenDialog/SaveDialog functions returning error messages as values
    22. Added $xdialog(Name).ismarked to see if the name is marked already.
    23. fixed a richedit bug crashing on rapid doubleclicking
    24. fixed a bug with $xdialog().focusid when deleting a control with focus
    25. added lbdown, sclick, lbup, dclick and rclick events to box ctrl
    26. fixed tab focus into children of panel, rebar, box and docked dialog controls
    27. added event tracking to calendar (selchange, select, sclick)
    28. fixed bug to allow docked dialogs/@windows to be tabbed into as containers
    29. updated FontDialog dcxdoc to make more sense
    30. fixed a typo in dcxdoc /xdid -q incorrect, its meant to be /xdid -J for changing control cursors
    31. fixed grammatical errors with dcxdoc
    32. updated DCX vs MDX page (feel free to tell us when to change this, this page stands at a "super low never look at it until someone says something about it" priority)
    33. documented trackbar selrange features
    34. fixed dcxdoc typo for pbar
    35. added a note to dcxdoc stating the case sensitivity of script commands
    36. added missing example for sizing event on dialog dcxdoc
    37. fixed documentation for OpenDialog/SaveDialog Styles
    38. added note for dialog dcxdoc close event
    39. fixed error with dcxdoc for dialog events having wrong ID for example
    40. added /xdid -r to dcxdoc for comboex (missing)
    41. removed dclick event from calendar control (it just never occurred), and updated sclick event description
    v1.3.3
    1. added ability to change background color of trackbar (NOTE: there is a API bug to be aware of)
    2. implemented selchange and link events to richedit
    3. added /xdid -n to richedit to toggle automatic url hyperlinking
    4. added sclick and lbup events to richedit
    5. fixed a bug with richedit not accepting return keypresses when using multiline style
    6. fixed richedit $xdid().text bug not returning manually entered text
    7. added 'themechanged' event to dialog
    8. added /xdid -B to begin label editing mode on listview and treeview controls (NOTE: listview requires focus to begin editing)
    9. added progress bars to listview
    10. fixed dcxdoc errors (thanks dJabba, PYERO)
    11. fixed up events parameter values styling in dcxdoc
    12. minor adjustments to listview dcxdoc
    13. added dJabba and PYERO to dcxdoc credits
    v1.3.2
    1. Added /xdialog -t, and updated /xdialog -g to support background images
    2. Added /xdid -w to image control
    3. Added $xdid().font global function to retrieve the font in use with a control
    4. Fixed a bug causing FONTNAME to be an optional field with /xdid -f
    5. Fixed a bug causing /xdid -j to not work on edit ctrl
    6. Added $dcx(FontDialog)
    7. Added /xdid -t to panel
    8. Added link to old dcxdoc on 'latest changes' description
    9. Changed /xdid -q to /xdid -Q for treeview item style changing command
    10. Implemented sclick event for treeview and listview when mouse clicked on no item
    11. Added quickfixes to ipaddress and comboex, to be drawn correctly when created with "disabled" style
    12. Added a quickfix for treeview icon 0 still showing first icon (will work as long as you dont use more than 10000 icons)
    13. Fixed typos, grammatical mistakes, inconsistancies, and missing features in dcxdoc with list ctrl dcxdoc (thanks elizio, dJabba, and MiSsInGnO)
    14. Added another tutorial link to cla page
    15. Fixed some styling
    16. Added /xdid -w to link control in dcxdoc, which was missing
    17. Fixed up example in /xdid -f dcxdoc to include CHARSET
    18. Readded Mpdreamz back to credits! oops! =P
    19. Changed contact irc network from IrcSuper to Americhat (stupid Shiek) =P
    20. Added a link to j0x's tutorial (french only)
    21. Fixed example with /xdid -C (rgb not showing)
    v1.3.1
    1. rewriting documentation, if you find any errors or inconsistancies with the old documentation, please post a message <a href="http://dcx.scriptsdb.org/forum/showthread.php?tid=171">here</a>
    2. fixed focus using tabbing on edit controls on dialog (box tabbing and focus still being researched)
    3. changed treeview and listview rclick events so it would fire even without an item being selected
    4. added a callback sclick when /xdid -c is called for comboex
    5. fixed a bug causing filters on Open/Save dialogs to be defaulted to "All Files"
    6. added /xdid -m switch to button control to allow text on bitmap buttons
    7. fixed a typo where /xdid -d wouldnt work for comboex
    8. added /xdid -o for pbar to make text vertical
    9. added/reimplemented dragbegin, dragfile, dragfinish events to comboex, dialog, listview, treeview, edit and listbox controls
    10. fixed a bug causing some listview items to ignore certain flags upon adding
    11. added GetTaskbarPos to retreive position of taskbar
    12. added /xdid -j to listview to change flags
    13. fixed box corner bug with colored background
    14. fixed bug that didnt let first toolbar button tooltip to be changed
    15. fixed a bug with /xdid -f not redrawing the control when the font is changed back to default
    v1.3.0
    1. fixed a display bug where text would be drawn off a button when too long
    2. added a pbar property $xdid().text
    3. added ability to set no text on a button using /xdid -t
    4. added keydown, keyup and return to richedit
    5. link font is now the system default GUI font
    6. fixed /xdid -C +k for box control not using the specified color
    7. added return and rclick event to richedit
    8. added /xdid -c to copy content to clipboard for edit and richedit ctrls
    9. added owner style to OpenDialog, SaveDialog and ColorDialog
    10. changed -C to -S for selecting text ranges in edit and richedit ctrls (this would of solved the coloring bug on these controls too)
    11. included a check on /udcx to see if it was called from a menu to prevent a crash on unload. please update your dcx_tools.mrc
    v1.2.7 and v1.2.8 reimplementation
    1. removed a debug output "Dialog WM_LBUTTONDOWN" when clicking on the dialog
    2. changed $dcx(GetSystemColor), please view documentation on changes to syntax
    3. added /xdid -o to overwrite a line for listbox ctrl
    4. added a style to the list control vsbar allowing it to be scrolled when overflowing
    5. added keydown and keyup events to edit ctrl
    6. added $dcx(ColorDialog), slightly changed syntax
    7. implemented $dcx(OpenDialog) and $dcx(SaveDialog)
    8. added selstart, selend, sel, seltext properties to edit ctrl
    9. added selstart, selend, sel, seltext properties to richedit ctrl
    10. fixed a bug in /xdid -d for tab ctrl where no page would be selected after deleting current page
    11. fixed a problem with box and link ctrls where cursor command /xdid -J wouldn't apply
    12. implemented /xdid -U for removing focus from a control. (will not work if there is only one control on the dialog)
    13. added nocut, nocopy and nopaste return values to prevent cut, copy and paste events for edit ctrl
    14. richedit editable by default
    15. added a style readonly to richedit
    16. added /xdid -Z for zooming richedit ctrls
    17. Please note that selchange (richedit) and dropfile events are missing.<br /> They will be reimplemented in the near future.
    17/02/2006
    1. Added /xdid -q and -m to the Listview for Group Support (XP+)
    2. Corrected the height of the colorcombo which is now the same as the comboex
    3. Fixed help file typos
    16/02/2006
    1. Added cursor stuff to the DLL via /xdialog -q and /xdid -J
    15/02/2006
    1. Added /xdialog -j
    2. Fixed richedit /xdid -k switch
    3. Fixed a drawing glitch on the box control
    14/02/2006
    1. Added the +ah flags to the /xdid -t command for listview headers
    2. Added /xdid -n to listview to resize header individually after they've been created
    3. Added $xdid().hwidth, .htext and .hicon to the listview
    4. Changed the range values of the trackbar to 32 bit values
    5. Fixed the fact that an undock dialog/@window was displayed when undocked even though it was hidden just before
    6. Fixed $xdid().tooltip on treeview that returned corrupted data
    11/02/2006
    1. Fixed a bug related to XPopup menus not showing properly after merger
    02/02/2006
    1. Merged XPopup to the DLL
    01/02/2006
    1. Added missing /xdid -d doc for the box control even though the function existed
    2. Added $xdid().tooltip to the toolbar control
    3. Fixed control deletion bug with "ghost" controls and invalid IDs, crashes, etc.
    4. Fixed potential problems with image lists on certain controls (not reported, but found by me)
    5. Fixed typos in the help file
    6. Fixed the TAB that made button text disappear bug
    7. Fixed the $xdid().icon treeview bug
    31/01/2006
    1. Added /xdid -o on the treeview to change the toltip text of an item
    2. Added the $xdid().mouseitem to the treeview control
    3. Added a Note to /xdid -p
    4. Added /xdid -k to richedit to change background color
    5. Added /xdialog -x which kills a dialog instead of triggering the close state
    6. Added the nosize return possibility in the sizing dialog event
    7. Fixed the $xdid().sel index being wrong on the comboex
    8. Fixed the link control refresh bug after /xdid -t
    9. Fixed $xdid().find in several controls generating a mIRC error when used with a $null value for matchtext
    10. Fixed /xdid -l for icon size not working for treeview
    11. Fixed /xdid -u not clearing selection in listview
    12. Fixed the header events not being sent when a listview was on a panel control (stupid API inconsistency here!)
    13. Modified the close event notice. A MUST READ
    23/01/2006
    1. Added /xdid -v to change a celle text on statusbar
    2. Added the dialog name in some error messages
    3. Changed the updown $xdid().pos to $xdid().value
    4. Fixed a typo in the scroll "vertical" style preventing is from working
    5. Corrected typos in the help file
    11/01/2006
    1. Added /xdialog -f to flash dialog windows
    2. Reduced the height of the colorcombo control
    09/01/2006
    1. Added $xdid()ispass to the edit control
    2. Added /xdid -j to the edit control to trigger password mode
    3. Fixed a toolbar icon list bug
    4. Fixed the ready state of the webctrl when created, it now browses to about:blank
    5. Fixed the rebar refresh problem linked to CLA
    08/01/2006
    1. Fixed the WebCtrl GPF Bug that afflicted it so hard only on certain machines
    2. Added scrollend event to the listview
    3. Added $xdid().tbitem to listview (Mpdreamz :P)
    4. Added $xdid().mouseitem to listview (Mpdreamz :P)
    5. Increased the maximum limit of text in the edit control
    6. Fixed typos in the help file and added docs on some features and styles
    07/01/2006
    1. Added $xdialog().id to retrieve the Nth used id in a dialog
    2. Added $xdid().type to retrieve the type of the control
    3. Added hrclick event for headers in the listview
    4. Added $xdid().inbox to the box control that gives the interior client area that clears the box border + text
    5. Added sclick, lbup, lbdown, lbdclick and dclick events to the panel
    6. Added /xdid -q to change the tooltip on a toolbar button
    7. Added the squared style to the box
    8. Added $xdid().childid on tab and rebar
    9. Added dialog docking on panel and box controls
    10. Added xdid -d on panel and box controls to delete child controls
    11. Replaced the noresize and noparentalign styles by noauto in the toolbar which combines both together
    12. Changed the box so that the text background color is now the line color and text color can be different from line
    13. Fixed a Richedit coloring bug
    14. Fixed xdid -t on the listview
    15. Fixed Image control refresh bug
    16. Fixed the /xdid -c and selection bug in the colorcombo
    17. Fixed a bug with the $xdid().find in the comboex
    18. Fixed a bug where header events were not triggered when the listview was on a divider
    19. Fixed the /xdid -j treeview bug
    20. Fixed typos in the help file
    03/01/2006
    1. Added /xdid -j on trackbar (Only works with XP themes disabled)
    2. Added $xdid().dpos giving position relative to dialog
    3. Changed $xdid().pos giving position relative to parent (which can also be the dialog)
    4. Fixed /xdid -f for the richedit
    5. Fixed $xdid().pid bug
    6. Fixed the Edit $xdid().text not returning correct value in the "edit" event
    7. Fixed CLA GPF bug
    17/12/2005
    1. Added ans extra parameter to the /xdid -j of the treeview for the selected icon
    2. Corrected the $xdid().seltext not working properly on the treeview
    16/12/2005
    1. Fixed Comboboxex edit control not supporting more than the combo width of characters.
    15/12/2005
    1. Rebuilt the box control to make it custom which reduces problems and makes it support colors for the line
    2. Changed the box style rjustify to right and added the bottom style
    3. Added $xdid().tooltip to treeview
    4. Added /xdid -i for the toolbar to change the button icon
    5. Fixed toolbar dropdown event bug
    14/12/2005
    1. Converted the box control to a CONTAINER control like the PANEL so people can use the CLA with it's controls inside
    2. Added $xdialog().key general property
    3. Added $xdid().pid general property
    4. Added lbup, lbdown, lbdblclk, rbup, rbdown, rbdblclk, mbup, mbdown, mbdblclk events to dialog
    11/12/2005
    1. Corrected the mIRC Controls not working properly when the dialog is marked bug
    10/12/2005
    1. Added sclick and rclick events on some controls where it was missing and useful.
    2. Added $xdialog().mouse and $xdid().mouse
    3. Added the W and H to the sizing dialog event
    4. Added $xdid().icon to Toolbar, ListView, TreeView and Tab controls
    09/12/2005
    1. Added /xdid -c to change button color/styles on toolbar
    08/12/2005
    1. Moved /xdid -l to /xdid -j on treeview
    2. Added /xdid -l to change icon size on treeview
    3. Added /xdid -g to change item height on treeview
    4. Added /xdid -u to change toolbar button size
    5. Added /xdid -v to change toolbar button text
    6. Corrected a bug in the /xdid -p no refreshing the child controls
    07/12/2005
    1. Corrected typos in the edit and richedit control help
    2. Corrected a bug in the toolbar /xdid -l that did not refresh the bar buttons
    06/12/2005
    1. Corrected the /xdid -x | /xdialog -b border bugs
    2. Corrected a bug in the /xdid -p not refreshing the control properly
    05/12/2005
    1. Added the $xdialog().mouseid which returns over which control ID the mouse is.
    2. Added the focus and focusout dialog events which indicate when a control has focus or when it loses it.
    3. Added the $xdialog().focusid which returns which control has the focus.
    4. Corrected the box control repainting child controls' border bugs
    04/12/2005
    1. Added /xdid -Z vertical scrolling function that can be used in any control
    2. Added an extra parameter [CHARSET] to the /xdid -f font command
    3. Added font change support on the progressbar
    4. Added +es switched to a treeview item being added
    5. Added mouse events mouse, mouseenter and mouseleave
    6. Reverted the Image control to BMP only because of problems with the GDI+ lib, so only BMPs are supported now with a color for transparency
    7. Corrected a drawing bug with the Image control when it was resized using the CLA
    03/12/2005
    1. Added $xdialog().ismenu
    2. Added the /xdid -F focus on control
    3. Added error messages for commands that create other controls when the ID is already used : /xdialog -c : Control with ID "4" already exists
    4. Added /xdid -t/-u on the edit and richedit to load from/save to a file
    5. Corrected the $xdid().num and .state on the listview
    6. Corrected the box control repainting child controls bugs
    7. Corrected the $xdid().text from edit not returning the correct value
    29/11/2005
    1. Added $xdid().text property to the toolbar
    2. Corrected a bug with the @window not properly setting it's control ID when docked
    3. Added $xdid().hwnd general control property
    28/11/2005
    1. Added the Web control
    2. Added the DCX vs MDX comparison page
    27/11/2005
    1. Added @window docking support on the panel control
    2. Added omitted updown control styles from help
    26/11/2005
    1. Added the IP Adress control
    2. Added the Updown control
    3. Corrected a GPF in the Cell Layout Algorithm (CLA) when supplied a bad cell path: now issues an error message
    4. Corrected the transparency/flat toolbar bug when a child control of a panel
    25/11/2005
    1. Fixed panel child controls not returning events for some controls
    2. Fixed bug related to toolbar button click GPF
    3. Fixed icon bug on listview
    4. Added information on icon space and [INDENT] param in N.B.s in listview doc
    5. Modified list of accessible controls by tab and divider controls to generic resizeable controls to prevent problems
    6. Fixed hsclick/hdclick events in listview missing in tab/divider/rebar child listviews
    7. Fixed the stateclick state bug by returning the correct state value in the event
    8. Added size 24 icons to the toolbar icon size command
    24/11/2005
    1. Added tracking event on the trackbar
    2. Changed the sclick event of the toolbar
    3. Rebar's /xdid -q feature has been disabled until I find a way to achieve this if it's possible
    23/11/2005
    1. Added Regular Control: Image; with support for PNG, JPG, GIF, BMP and transparency.
    2. Added Edit Events: return, edit
    3. Added missing feature to get text of combo editbox in $xdid().text
    4. Added /xdid -v t the divider to set the bar position
    5. Fixed $xdialog().nextid bug
    6. Fixed the /xdid -p bug not working on docked @window and dialog
    7. Corrected typos in the help file
    21/11/2005
    1. Added Regular Control: Link
    2. Corrected typos in the help file
    17/11/2005
    1. Added Regular Control: Listbox
    2. Rewrote my test dialog separating each control into a single command for quick enabling/disabling of a particular control
    16/11/2005
    1. Resolved a listview /xdid -a where N=0 end insertion did not work for icon, smallicon and list styles
    13/11/2005
    1. Added Regular Control: scrollbar
    2. Added multiple ID support for /xdid
    3. Added /xdialog -g, /xdid -C color commands
    4. Corrected a treeview checkbox style bug preventing checkboxes to be used in the treeview
    11/11/2005
    1. Added Regular Controls: edit, text
    2. Corrected typos in help
    3. Removed some debug messages not used
    10/11/2005
    1. Fixed the panel control not being created properly and acting as a divider
    2. Added Regular controls : Line, Box, Radio and Check
    3. Corrected a bug in the toolbar/statusbar/rebar controls not being asserted their top/bottom/left/right automatic positions in the panel control
    4. Corrected rebar band release display bug
    09/11/2005
    1. Activated /xdid and $xdid for docked @windows and dialogs
    2. Added the default style for the button
    3. Added general control styles: tabstop, group, disabled
    4. Changed help files in styles section
    02/11/2005
    1. Added a notice for switches +mn of the /xdialog -b command
    14/10/2005
    1. Corrected a GPF bug when the DLL was unload via /dll -u and a DCX dialog is opened
    10/10/2005
    1. Changed labeltip to tooltip in Listview styles
    2. Added /xdid -f font command to the richedit control
    3. Added /xdid -M global control command linked with $xdid().mark to store additional information per control
    4. Added toolbar AutoStretch buttons feature linked with /xdid -m
    5. Added demo dialog which needs to be completed
    6. Added change rebar event
    7. Added an important note to /xdialog -l
    09/10/2005
    1. Added Tab Control
    2. Corrected Typos in help files
    08/10/2005
    1. Added Panel Control
    07/10/2005
    1. Relaxed compilation options hopefully to resolve the $dll unable to open dcx.dll problems
    2. Added the /xdialog -l command
    3. Added a new section - Cell Layout Algorithm
    20/09/2005
    1. Added Event Management in the divider control for subcontrols
    2. Corrected the WIDTH param in the rebar not taken into account on band creation
    19/09/2005
    1. Added the custom made divider control (not fully functional yet, misses event handling of child controls)
    2. Corrected typos in the help file
    17/09/2005
    1. Added option to set separator width in toolbar in /xdid -a notes
    2. Corrected .selext and .text comboex bugs
    16/09/2005
    1. Corrected a bug in my TString support lib also related to the richedit bug
    2. Added multiline selection in listview + $xdid .selnum and modified .sel prop
    3. Added more listview optional control styles
    4. Added top, noresize, noparentalign statusbar styles
    5. Added dialog events, endsize, min, max, restore, beginmove, moving, endmove
    14/09/2005
    1. Added /xdid -l to ListView + TreeView to change icon
    2. Added /xdid -v to ListView
    3. Corrected explanation for the progressbar "digital mode"
    13/09/2005
    1. Corrected a treeview itempath bug
    11/09/2005
    1. Corrected typo in Mark Command
    7/09/2005
    1. Corrected a toolbar tooltip bug
    2. Corrected the toolbar font not being applied
    3. Correctd help typos
    4. Let me kwow if anyone has problems with the Release DLL
    5/09/2005
    1. Completed RichEdit control
    2. Added .isid and .nextid $xdialog properties
    3. Corrected typos in help file
    4. Help file now being translated into French, Swedish, Portuguese and Finnish. Looking for translators for Spanish and Italian.
    4/09/2005
    1. Added the Button control
    2. Documented help event in all controls
    3. Corrected a few typos in the help file
    3/09/2005
    1. Added $xdid .find prop to ListView
    2. Rebuilt the /xdid -z of TreeView with more sorting options
    3. /xdid -f Font change switch completed
    2/09/2005
    1. Added /xdid -g, -i and -z switches to ListView
    2. Added .tooltip prop to statusbar
    1/09/2005
    1. Added -v switch to treeview to change itemtext
    2. Finished code base adaptation
    31/08/2005
    1. Added -j switch on toolbar to set button min and max width
    28/08/2005
    1. Mark function parameters changed
    2. Added Text on the Progressbar control
    3. Added 3 events on progressbar, sclick, rclick and mousebar
    4. Typos in help files
    25/08/2005
    1. Recoded the whole base of the framework for better evolution in the futur
    2. Need to convert old code to new franework, not hard but time consuming
    23/08/2005
    1. Added Colorcombo control completed
    2. Started RichEdit control, but far from finished
    21/08/2005
    1. Major Changes
    2. DCXControl was transfered to /xdialog -c
    3. Added several /xdialog switches
    4. Moved Animate to /xdialog
    5. Added several Rebar /xdid switches
    6. Added rebar events
    7. Added COLOR support for rebar band text
    8. Corrected help file documentation and typos
    18/08/2005
    1. Added more child controls on rebar
    2. Activated events on child controls on rebar
    3. Added /xdid switches for rebar control
    16/08/2005
    1. Dialog events with beginsize and sizing
    2. Added rebar functionnality ( more to come )
    3. Corrected a toolbar GPF bug
    4. Added some event support for child controls on rebar
    14/08/2005
    1. Changed the pbar /xdid -mf switch to -mg
    2. Started Rebar Control (really incomplete)
    3. Corrected help file typos
    13/08/2005
    1. Added /xdialog and $xdialog functions
    2. Added -b switch to /xdialog for border/style mods on dialogs
    3. Added -x general switch to /xdid
    4. Finally resolved mIRCs trick in disabling dialog resizing, now functional without needing an extra control (hint: positioner).
    5. Added Item number returned in $4 in sclick, stateclick, rclick and dclick events of listview
    06/08/2005
    1. Added Trackbar control
    2. Added documentation warning in @window doc
    3. Updated DLL Documentation with HTML fixes and corrections of all kinds
    02/08/2005
    1. Bug Fixes
    01/08/2005
    1. Added @window docking
    2. Added Animate Dialog Function
    3. Added Toolbar Control
    4. Debugging/Cleaning of debug echos (If you see some more debug text, please let me know)
    31/07/2005
    1. Added ComboEx Control
    2. Added Listview more stuff
    26/07/2005
    1. Added ListView (really not finished)
    24/07/2005
    1. Added Statusbar control
    17/07/2005
    1. Added treeview /xdid switches
    16/07/2005
    1. Changed the progressbar /xdid -s switch to -u
    2. Added /xdid global switches, -behps
    3. Added $xdid() global props, .enabled, .visible, .pos
    4. Added treeview $xdid() properties
    14/07/2005
    1. Added all the treeview events
    2. Added a couple -X switches to the treeview control
    13/07/2005
    1. Changed the progressbar /xdid -b switch to -k
    2. Added start of treeview control (rest is coming)
    Contact � 2005-2009 Last Updated: 12th July, 09

    Valid XHTML 1.0 Transitional Valid CSS!