ThemeEngine provides one message for interaction of various components and the cursor itself. Each component which uses the themes is to process this message in
order to display itself correctly and to change the necessary parameters and repaint at changing of the active theme. For your component to be able to receive ThemeEngine messages you are to register its AddThemeNotification procedure which is being used. The registration is usually made in the designer. It is necessary to call the RemoveThemeNotification procedure before the destruction of the component (usually in the destructor).
SNM_THEMEMESSAGE
lParam is not used in the current version, wParam has one of the following values:
- SMP_CHANGETHEME - the current theme has changed
- SMP_BEFORECHANGE - is sent before changing the current theme
- SMP_AFTERCHANGE - is sent after changing the current theme
- SMP_APPLYTHEME - is sent when the theme is active, and application was in the non-theme mode.
- SMP_REMOVETHEME - is sent when the active theme is deleted and the application is switched off to the non-theme mode.
- SMP_REPAINT - is sent if it is necessary to repaint all the components, for example, by calling RepaintThemedControls