CToasterWnd Changelog

What's new in CToasterWnd 1.25

Mar 23, 2022
  • Updated copyright details.
  • Updated the code to use C++ uniform initialization for all variable declarations.

New in CToasterWnd 1.24 (Mar 29, 2020)

  • Updated copyright details.
  • Fixed more Clang-Tidy static code analysis warnings in the code.

New in CToasterWnd 1.23 (Dec 27, 2019)

  • Fixed various Clang-Tidy static code analysis warnings in the code.

New in CToasterWnd 1.22 (Oct 1, 2019)

  • Fixed a number of compiler warnings when the code is compiled with VS 2019 Preview

New in CToasterWnd 1.21 (Jun 2, 2019)

  • Updated copyright details.
  • Updated the code to clean compile on VC 2019

New in CToasterWnd 1.20 (Aug 5, 2018)

  • Updated copyright details.
  • Fixed a number of C++ core guidelines compiler warnings. These changes mean that the code will now only compile on VC 2017 or later.
  • Replaced enum with enum class throughout the codebase.

New in CToasterWnd 1.19 (Oct 31, 2017)

  • Updated copyright details.
  • Replaced NULL with nullptr throughout the codebase. This means that the code now requires VC 2010 at a minimum to compile.
  • Added SAL annotations to all the code.
  • Removed the code which used function pointers when calling the theming APIs.
  • Removed QHTM support code from the codebase as that control is no longer available.
  • Updated the code to support sciter (http://sciter.com) instead of the older HTMLayout for HTML toasts.
  • Made the CToasterNotification interface part of the CToasterWnd class.
  • Replaced BOOL throughout the codebase with bool.

New in CToasterWnd 1.16 (Dec 23, 2011)

  • The control now supports drawing an alpha blended image in its client area. This is achieved using the new member variables: m_Logo, m_rectLogoSrc, m_rectLogoDest and m_nLogoSrcAlpha. The code internally uses the CImage class and its support for alpha blending via the Win32 API function AlphaBlend. To use this functionality in the control you must define the preprocessor variable WINVER to be >= 500. Thanks to "Sky" for prompting this update

New in CToasterWnd 1.15 (Dec 23, 2011)

  • The timer interval used for the opening and closing animation is now controllable via a member variable
  • The size of the pixels in which to increase or decrease the window size during the animation can now be controlled via a member variable
  • Fixed a bug where the window could end completely transparent after the initial opening animation
  • Fixed a bug where the final size of the window could end up incorrect
  • The control now uses double buffered drawing to help eliminate flickering when the opening and closing animation is happening. Thanks to "sky" for prompting this update

New in CToasterWnd 1.14 (Dec 23, 2011)

  • 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

New in CToasterWnd 1.13 (Dec 23, 2011)

  • 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

New in CToasterWnd 1.12 (Dec 23, 2011)

  • Removed an unnecessary ASSERT in CToasterWnd::Popup
  • Internal animation state variable is reset in Close(), OnDestroy(), and HandleClosing methods
  • Updated the sample app to show how you can reuse a CToasterWnd window if you so desire. Thanks to Itamar Syn-Hershko for suggesting this update

New in CToasterWnd 1.11 (Dec 23, 2011)

  • Updated usage instructions about Platform SDK
  • The CToasterNotification notifier interface has been extended to support a "OnHTMLayoutLoadData" method. This allows client code to customize the loading of data when using the HTMLayout control without the need to implement a derived class of CToasterWnd. Thanks to Itamar Syn-Hershko for reporting this suggestion
  • OnHTMLLayoutHyperLink method in CToasterNotification has been renamed to OnHTMLayoutHyperLink
  • OnHTMLLayoutCommand method in CToasterNotification has been renamed to OnHTMLayoutCommand

New in CToasterWnd 1.10 (Dec 23, 2011)

  • Fixed a bug in the LoadHTML and LoadUrl methods where they were incorrectly using the main window handle of the toaster window instead of the window handle of the HTMLayout child control. Thanks to Itamar Syn-Hershko for reporting this bug

New in CToasterWnd 1.09 (Dec 23, 2011)

  • The existing CToasterWnd::Show method has been internally refactored into a Create method and Popup method. This allows client code to perform any custom initialization on the control prior to it actually being shown to the end user. Thanks to Itamar Syn-Hershko for prompting this suggestion

New in CToasterWnd 1.08 (Dec 23, 2011)

  • Updated copyright details
  • Removed the automatic inclusion of the various HTMLayout behaviors header files. This avoids causing potential linking errors in client apps, since the behavior objects are declared statically twice. Note that if you want to support HTMLayout behaviors, then it is the responsibility of client apps to pull in the required HTMLayout header files. Thanks to Itamar Syn-Hershko for reporting this problem
  • Addition of 2 simple LoadHTML and LoadUrl helper methods to allow the toaster window to easily be populated with HTML when using the HTMLayout control. Thanks to Itamar Syn-Hershko for this nice addition
  • Addition of a m_dwHTML and m_pbHTML member variables when you are using the HTMLayout control. If you populate these values, then the HTML for the control will be taken from these variables instead of from "m_sText". Again thanks to Itamar Syn-Hershko for this nice addition

New in CToasterWnd 1.07 (Dec 23, 2011)

  • Code now uses class name constant for QHTML control
  • Updated sample app code to clean compile on VC 2005
  • Macro to control inclusion of QHTM is now "CTOASTERWND_QHTM_SUPPORT"
  • Control now allows you to use the HTMLayout control for HTML support for the toast window

New in CToasterWnd 1.06 (Dec 23, 2011)

  • Code now uses newer C++ style casts instead of C style casts
  • Updated the code to clean compile on VC 2005
  • Close button is now shown hot only when the cursor is within its bounding rect
  • Reworked the notification API somewhat. If you are using notifications, then you should review the new layout of the CToasterNotification class
  • Class now allows you to put HTML text into the toast window. This is provided by the QHTM HTML control provided at http://www.gipsysoft.com/qhtm/. You may need to purchase a license (depending on the type of application you are developing) as well as follow their
  • instructions on deploying it if you want this functionality with CToasterWnd. This functionality by default is not included in CToasterWnd and is only available when you define the preprocessor macro "CTOASTERWND_HTML_SUPPORT"
  • Included support for a new "NoAnimation" animation style

New in CToasterWnd 1.05 (Dec 23, 2011)

  • Fixed a minor bug in CToasterWnd::Construct where function pointers were not been checked correctly. Thanks to Wes Aday for reporting this issue
  • Fixed a bug in CToasterWnd::OnEraseBkgnd where the vertex values were not being set correctly for the BackgroundDiagonalGradient and ForwardDiagonalGradient styles. Again thanks to Wes Aday for reporting this bug

New in CToasterWnd 1.04 (Dec 23, 2011)

  • Updated the documentation to use the same style as the web site. Also did a spell check of the document
  • Updated the documentation to refer to the need for the Platform SDK if you are compiling the code using VC 6
  • Fixed a number of compiler warnings when the code is compiled using /Wp64
  • Update the copyright details

New in CToasterWnd 1.03 (Dec 23, 2011)

  • Now supports a new transparency animation effect (if on Win2k or later), via a new m_bTransparent member variable. Thanks to Remio for this really cool addition.

New in CToasterWnd 1.02 (Dec 23, 2011)

  • Code now uses SHAppBarMessage to determine the task bar location
  • popup window is now by default offset horizontally as well as vertically by a scrollbar

New in CToasterWnd 1.01 (Dec 23, 2011)

  • Fixed some spelling typos in the documentation
  • Fix for image link on the download page
  • Title and body text can now be optionally made hot or not
  • Icon can now be hot