DCX - Dialog Control Xtension

Version History
  • 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
    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
  • 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
  • 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
  • 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
  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
  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
  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)
  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
  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.
  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
  1. Added cursor stuff to the DLL via /xdialog -q and /xdid -J
  1. Added /xdialog -j
  2. Fixed richedit /xdid -k switch
  3. Fixed a drawing glitch on the box control
  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
  1. Fixed a bug related to XPopup menus not showing properly after merger
  1. Merged XPopup to the DLL
  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
  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
  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
  1. Added /xdialog -f to flash dialog windows
  2. Reduced the height of the colorcombo control
  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
  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
  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
  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
  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
  1. Fixed Comboboxex edit control not supporting more than the combo width of characters.
  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
  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
  1. Corrected the mIRC Controls not working properly when the dialog is marked bug
  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
  1. Added /xdid -c to change button color/styles on toolbar
  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
  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
  1. Corrected the /xdid -x | /xdialog -b border bugs
  2. Corrected a bug in the /xdid -p not refreshing the control properly
  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
  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
  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
  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
  1. Added the Web control
  2. Added the DCX vs MDX comparison page
  1. Added @window docking support on the panel control
  2. Added omitted updown control styles from help
  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
  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
  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
  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
  1. Added Regular Control: Link
  2. Corrected typos in the help file
  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
  1. Resolved a listview /xdid -a where N=0 end insertion did not work for icon, smallicon and list styles
  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
  1. Added Regular Controls: edit, text
  2. Corrected typos in help
  3. Removed some debug messages not used
  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
  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
  1. Added a notice for switches +mn of the /xdialog -b command
  1. Corrected a GPF bug when the DLL was unload via /dll -u and a DCX dialog is opened
  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
  1. Added Tab Control
  2. Corrected Typos in help files
  1. Added Panel Control
  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
  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
  1. Added the custom made divider control (not fully functional yet, misses event handling of child controls)
  2. Corrected typos in the help file
  1. Added option to set separator width in toolbar in /xdid -a notes
  2. Corrected .selext and .text comboex bugs
  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
  1. Added /xdid -l to ListView + TreeView to change icon
  2. Added /xdid -v to ListView
  3. Corrected explanation for the progressbar "digital mode"
  1. Corrected a treeview itempath bug
  1. Corrected typo in Mark Command
  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
  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.
  1. Added the Button control
  2. Documented help event in all controls
  3. Corrected a few typos in the help file
  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
  1. Added /xdid -g, -i and -z switches to ListView
  2. Added .tooltip prop to statusbar
  1. Added -v switch to treeview to change itemtext
  2. Finished code base adaptation
  1. Added -j switch on toolbar to set button min and max width
  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
  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
  1. Added Colorcombo control completed
  2. Started RichEdit control, but far from finished
  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
  1. Added more child controls on rebar
  2. Activated events on child controls on rebar
  3. Added /xdid switches for rebar control
  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
  1. Changed the pbar /xdid -mf switch to -mg
  2. Started Rebar Control (really incomplete)
  3. Corrected help file typos
  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
  1. Added Trackbar control
  2. Added documentation warning in @window doc
  3. Updated DLL Documentation with HTML fixes and corrections of all kinds
  1. Bug Fixes
  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)
  1. Added ComboEx Control
  2. Added Listview more stuff
  1. Added ListView (really not finished)
  1. Added Statusbar control
  1. Added treeview /xdid switches
  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
  1. Added all the treeview events
  2. Added a couple -X switches to the treeview control
  1. Changed the progressbar /xdid -b switch to -k
  2. Added start of treeview control (rest is coming)
© 2005-2007 Last Updated: 25th December, 07