September 02
Just to let everyone know that v1.02 of MfcCDDB has been released. Updates for this version include:
- Updated copyright details
- Code now compiles cleanly using Code Analysis (/analyze)
- Updated code to compile correctly using _ATL_CSTRING_EXPLICIT_CONSTRUCTORS define
- Updated sample app to clean compile on VC 2008
- The code has now been updated to support VC 2005 or later only.
- Reworked some of the Peek parameters to be pointers rather than references.
August 31
Just to let everyone know that v1.31 of MfcCDDB has been released. Updates for this version include:
- Code now compiles cleanly using Code Analysis (/analyze)
- Updated code to compile correctly using _ATL_CSTRING_EXPLICIT_CONSTRUCTORS define
- The code now only supports VC 2005 or later.
- Added support for parsing CCDDBSite::m_sProtocol
- Code now uses ATL's support for base64 encoding
- The code now uses the author's CWSocket to encapsulate socket functionality
- Fixed a bug in the calculation of the total track length in CCDDB::ComputeDiscID. Thanks to Tom van Dijck for reporting this bug.
- General tidy up of all the parsing code in the classes
- The classes now supports v6 Protocol level (if the code is compiled for Unicode)
- GetTrackPositions has been renamed to GetTrackPositionsUsingMCI.
- Addition of a GetTrackPositionsUsingDeviceIoControl using the API DeviceIoControl and the IOCTL code of IOCTL_CDROM_READ_TOC to get the track positions. This method works on all versions of Windows based on the NT Kernel (i.e. NT, 2000, XP, 2003, Vista and 2008). It should also work for multi-session CD's i.e. CD's which have data sessions as well as an audio session.
- ComputeDiscID has been renamed to ComputeDiscIDUsingMCI.
- Addition of a ComputeDiscIDUsingDeviceIoControl method.
August 17
Just to let everyone know that v1.14 of CToasterWnd has been released. Updates for this version include:
- Fixed a bug where if the calculated body text height was larger than the allowable window size, you previously got the title text intersecting with the title text. Thanks to Steven Dwyer for reporting this issue.
- Changed the default DrawText formatting flags for the body text to DT_NOPREFIX | DT_CENTER | DT_WORDBREAK | DT_EDITCONTROL. This is a better default value for the typical body text
- Changed the default DrawText formatting flags for the title text to DT_NOPREFIX | DT_LEFT | DT_SINGLELINE | DT_END_ELLIPSIS. This is a better default value for the typical title text
August 16
Just to let everyone know that v1.52 of CMemMapFile has been released. Updates for this version include:
- Updated copyright details
- Code now compiles cleanly using Code Analysis (/analyze)
- Updated code to compile correctly using _ATL_CSTRING_EXPLICIT_CONSTRUCTORS define
- The code now only supports VC 2005 or later.
- Removed VC 6 style AppWizard comments from the code.
- Updated the code to correctly handle "Global\" and "Local\" prefixes which can be included with any Win32 Named object. Thanks to Gert Rijs for reporting this bug. To achieve this the parameters to the MapFile method has been reworked. This function now takes a pszMappingName which allows client code to explicitly specify the mapping name
- The mutex name use to serialize access to the contents of the memory mapped file is now explicitly provided as a external parameter to the class.
- MapExistingMemory now has a LPSECURITY_ATTRIBUTES parameter
Just to let everyone know that v2.80 of CPJNSMTPConnection has been released. Updates for this version include:
- Updated the AUTH_AUTO login support to fall back to no authentication if no authentication scheme is supported by the SMTP server. Thanks to Mat Berchtold for this update.
August 03
Just to let everyone know that v1.05 of MfcSMS has been released. Updates for this version include:
- Updated copyright details.
- Removed VC 6 style classwizard comments from the sample app.
- Updated the sample app to clean compile on VC 2008
- Sample app now uses CEnumerateSerial::UsingSetupAPI1 to enumerate serial ports
- Sample app now displays the friendly name of the port also
- Updated code to compile correctly using _ATL_CSTRING_EXPLICIT_CONSTRUCTORS define
- Reworked the exception class to be in line with the other exception classes of the author.
- Code now compiles cleanly using Code Analysis (/analyze)
- The code now only supports VC 2005 or later.
- Internally the code now opens the serial port in overlapped mode
- Removed the Attach and Detach methods.
- Increased the default timeout to 15 seconds.
- Added support for the sending using the UCS2 alphabet. Thanks to Andrew Komiagin for this very nice addition.
July 27
Just to let everyone know that v2.79 of CPJNSMTPConnection has been released. Updates for this version include:
- Updated code to compile correctly using _ATL_CSTRING_EXPLICIT_CONSTRUCTORS define
- CPJNSMTPMessage::GetHeader now correctly ensures all long headers are properly folded. In addition this function has been reworked to create the header internally as an ASCII string rather than as a TCHAR style CString.
July 26
Just to let everyone know that v1.31 of AA+ has been released. Updates for this version include:
- Changed name of CAASun::EclipticRectangularCoordinatesMeanEquinox to CAASun::EquatorialRectangularCoordinatesMeanEquinox to refer to the fact that it returns equatorial coordinates instead of ecliptic coordinates. Thanks to Frank Trautmann for reporting this issue
- Updated copyright details.
- zip file now ships with a VC 2005 solution instead of a VC 6 solution file.
- Code now compiles cleanly using Code Analysis (/analyze)
July 20
Just to let everyone know that v2.78 of CPJNSMTPConnection has been released. Updates for this version include:
- Fixed a bug in ReadResponse where the code is determining if it has received the terminator. Thanks to Tony Cool for reporting this bug.
Just to let everyone know that v1.71 of CTreeOptionsCtrl has been released. Updates for this version include:
- Added two missing files to the download zip file specifically the correct sln and vcproj files. Thanks to Ingmar Koecher for reporting this issue.
- Radio buttons and check boxes now by default use a more 3d style of drawing when XP theming is not active. You can revert back to a more flat style of drawing these items by SetFlatStyleRadioButtons(TRUE) and SetFlatStyleCheckBoxes(TRUE) respectively. Thanks to Ingmar Koecher for reporting this issue.
July 14
Just to let everyone know that v1.13 of CToasterWnd has been released. Updates for this version include:
- Updated copyright details.
- Updated sample app to clean compile on VC 2008
- The code has now been updated to support VC 2005 or later only.
- Code now compiles cleanly using Code Analysis (/analyze)
- Removed VC 6 style AppWizard comments from the code.
July 12
Just to let everyone know that v1.10 of CNamedPipe has been released. Updates for this version include:
- Updated copyright details.
- Updated sample app to clean compile on VC 2008
- The code has now been updated to support VC 2005 or later only.
- Code now compiles cleanly using Code Analysis (/analyze)
- Removed the m_bAutoClose member variable and concept from class
July 11
Just to let everyone know that v1.13 of CPJNSNTPClient has been released. Updates for this version include:
- Updated copyright details.
- Updated sample app to clean compile on VC 2008
- Removed VC 6 style classwizard comments from the code.
- The code has now been updated to support VC 2005 or later only.
- Code now compiles cleanly using Code Analysis (/analyze)
Just to let everyone know that v1.05 of CMessageBoxX has been released. Updates for this version include:
- Updated copyright details.
- Updated sample app to clean compile on VC 2008
- Removed VC 6 style classwizard comments from the code.
- The code has now been updated to support VC 2005 or later only.
- Code now compiles cleanly using Code Analysis (/analyze)
- Code now uses newer C++ style casts instead of C style casts.
- Updated sample app to demonstrate support for user icons
- Class now correctly handles the manifest contexts which the MessageBox API's can have when you are using Common Control v6 or later
July 07
Just to let everyone know that v1.08 of CSyncCollection has been released. Updates for this version include:
- Updated copyright details.
- Removed the CSYNCCOLLECTION_EXT_CLASS proprocessor value as it is not required since the class is template based.
- The code has now been updated to support VC 2005 or later only.
- Updated the sample app to clean compile on VC 2008
- Code now compiles cleanly using Code Analysis (/analyze)
- Code now uses newer C++ style casts instead of C style casts.
July 06
Just to let everyone know that v1.52 of CFileTreeCtrl has been released. Updates for this version include:
- Code now compiles cleanly using Code Analysis (/analyze)
- Updated code to compile correctly using _ATL_CSTRING_EXPLICIT_CONSTRUCTORS define
- Shares shown underneath the Network node no longer show the share icon overlap. This is consistent with how Windows Explorer shows these items.
- Fixed a bug where CFileTreeCtrl::OnChange was not being called due to the fact that its message map entry was declared incorrectly. Thanks to "Roland" for reporting this bug.
- Fixed a bug in CFileTreeCtrl::SetSelectedPath where the expansion state of a folder was not being correctly set.
- Updated the sample app to allow the expansion state of the selected path to be set.
- Fixed an issue where files and folders were not being displayed when the desktop node was being reexpanded.
- Fixed an issue setting up m_sFQPath for some network node items in EnumNetwork
- During testing of the SetSelectedPath and because the control primarily uses file paths to identify a node, refresh of items which do not have a corresponding path will fail in OnRefresh. Examples of this include "My Network Places" and "My Computer" amongst others. Until I develop a new version of the control based on Shell PIDLs, this will be a deficiency of the current approach taken by CFileTreeCtrl
- Following analysis of the auto refresh behaviour of Windows Explorer, the control now only monitors notifications for changes in the current directory and not all drive letters or recursively from the current directory. This helps to improve the robustness of control when change notifications are received.
July 04
Just to let everyone know that v1.27 of CSerialPort has been released. Updates for this version include:
- Provided a version of the Open method which takes a string instead of a numeric port number value. This allows the code to support some virtual serial port packages which do not use device names of the form "COM%d". Thanks to David Balazic for suggesting this addition.
June 29
Just to let everyone know that v1.38 of CSortedArray / CSortedArrayEx / CSimpleArrayEx has been released. Updates for this version include:
- Updated copyright details
- Code now compiles cleanly using Code Analysis (/analyze)
- Updated the sample app to clean compile on VC 2008
- The code now only supports VC 2005 or later.
June 22
Just to let everyone know that v1.61 of CTrayNotifyIcon has been released. Updates for this version include:
- Code now compiles cleanly using Code Analysis (/analyze)
- Updated code to compile correctly using _ATL_CSTRING_EXPLICIT_CONSTRUCTORS define
- Removed VC 6 style AppWizard comments from the code.
- The code now only supports VC 2005 or later.
June 21
Just to let everyone know that v1.26 of CSerialPort has been released. Updates for this version include:
- Code now compiles cleanly using Code Analysis (/analyze)
- Updated code to compile correctly using _ATL_CSTRING_EXPLICIT_CONSTRUCTORS define
- The code now only supports VC 2005 or later.
- CSerialPort::Read, Write, GetOverlappedResult & WaitEvent now throw an exception irrespective of whether the last error is ERROR_IO_PENDING or not
- Replaced all calls to ZeroMemory with memset