/** * @file XTPDatePickerNotifications.h * * @copyright * (c) 1998-2025 Codejock Software, All Rights Reserved. * * This source file is the property of Codejock Software and must not be * redistributed by any means without the explicit written permission of * Codejock Software. * * The use of this source code is governed by the terms and conditions specified * in the Toolkit Pro license agreement. Codejock Software grants you, as a * single software developer, the limited right to use this software on one * computer only. * * Contact Information: * support@codejock.com * http://www.codejock.com * */ #if !defined(_XTPDatePickerNotifications_H__) # define _XTPDatePickerNotifications_H__ # if _MSC_VER > 1000 # pragma once # endif // _MSC_VER > 1000 # include "Common/Base/Diagnostic/XTPDisableNoisyWarnings.h" //==== CXTPDatePickerControl notification IDs =============================== /** * @brief * This is a notification ID that is used to indicate mouse button * clicks on a control. * * @details There are two DWORD parameters that are reserved for user-defined purposes. * An example is to use the first user-defined parameter as a button ID. * wParam = ButtonID, lParam = 0; * The second parameter is not used. This example is useful for sending * notifications when a button is clicked. * * Example: *
* // In the header file. * // Declare the xtp sink macro. This creates the sink and associates the sink * // with the CXTPCalendarController object. * * DECLARE_XTPSINK(CXTPCalendarController, m_Sink); * * // Declare the member function that handles the event notification messages. * void OnEvent_DatePicker(XTP_NOTIFY_CODE Event, WPARAM wParam, LPARAM lParam); * * // In the source file. * // Declare the message handler inside the sink macros. * * // m_Sink.Advise(ptrDPConn, XTP_NC_DATEPICKERBUTTONCLICKED, * &CXTPCalendarController::OnEvent_DatePicker); * * // Somewhere in your program in a function that is used to capture mouse click events. * // Send an XTP_NC_DATEPICKERBUTTONCLICKED notification message with * // the accompanying button ID as a parameter. * * XTP_NC_DATEPICKER_BUTTON nm; // Structure used to send notification messages. * nm.nID = nID; // Get the ID of the button. * * SendNotification(XTP_NC_DATEPICKERBUTTONCLICKED, nID); ** * @see DECLARE_XTPSINK */ static const XTP_NOTIFY_CODE XTP_NC_DATEPICKERBUTTONCLICKED = (WM_XTP_CALENDAR_BASE + 80); /** * @brief * This is a notification ID that is used to indicate that the selection has changed. * * @details There are two DWORD parameters that are reserved for user-defined purposes. * * Example: *
* // In the header file. * // Declare the xtp sink macro. This creates the sink and associates the sink * // with the CXTPCalendarController object. * * DECLARE_XTPSINK(CXTPCalendarController, m_Sink); * * // Declare the member function that handles the event notification messages. * void OnEvent_DatePicker(XTP_NOTIFY_CODE Event, WPARAM wParam, LPARAM lParam); * * // In the source file. * // Declare the message handler inside the sink macros. * * m_Sink.Advise(ptrDPConn, XTP_NC_DATEPICKERSELECTIONCHANGED, * &CXTPCalendarController::OnEvent_DatePicker); * * // Somewhere in your program in a function that is used to capture mouse click events. * // Send an XTP_NC_DATEPICKERSELECTIONCHANGED notification message. * * SendNotification(XTP_NC_DATEPICKERSELECTIONCHANGED); ** * @see DECLARE_XTPSINK */ static const XTP_NOTIFY_CODE XTP_NC_DATEPICKERSELECTIONCHANGED = (WM_XTP_CALENDAR_BASE + 81); /** * @brief * This is a notification ID that indicates that the Date Picker * is about to enter modal mode (pop-up window). * * @details There are two DWORD parameters that are reserved for user-defined purposes. * * Example: *
* // In the header file. * // Declare the xtp sink macro. This creates the sink and associates the sink * // with the CXTPCalendarController object. * * DECLARE_XTPSINK(CXTPCalendarController, m_Sink); * * // Declare the member function that handles the event notification messages. * void OnEvent_DatePicker(XTP_NOTIFY_CODE Event, WPARAM wParam, LPARAM lParam); * * // In the source file. * // Declare the message handler inside the sink macros. * * m_Sink.Advise(ptrDPConn, XTP_NC_DATEPICKERBEFOREGOMODAL, * &CXTPCalendarController::OnEvent_DatePicker); * * // Somewhere in your program in a function that is used to capture mouse click events. * // Send an XTP_NC_DATEPICKERSELECTIONCHANGED notification message. * * SendNotification(XTP_NC_DATEPICKERBEFOREGOMODAL); ** * @see DECLARE_XTPSINK; */ static const XTP_NOTIFY_CODE XTP_NC_DATEPICKERBEFOREGOMODAL = (WM_XTP_CALENDAR_BASE + 82); /** * @brief * This is a notification ID that is used to indicate that the mouse moved under * a control. * * @details There are two DWORD parameters that are reserved for user-defined purposes. * An example is to use the first user parameters as traced coordinates. * wParam = x, lParam = y; * The second parameter is not used. This example is useful for sending * notifications when a button is clicked. * * Example: *
* // In the header file. * // Declare the xtp sink macro. This creates the sink and associates the sink * // with the CXTPCalendarController object. * * DECLARE_XTPSINK(CXTPCalendarController, m_Sink); * * // Declare the member function that handles the event notification messages. * void OnEvent_DatePicker(XTP_NOTIFY_CODE Event, WPARAM wParam, LPARAM lParam); * * // In the source file. * // Declare the message handler inside the sink macros. * * // m_Sink.Advise(ptrDPConn, XTP_NC_DATEPICKERMOUSEMOVE, * &CXTPCalendarController::OnEvent_DatePicker); * * // Somewhere in your program in a function that is used to capture mouse move events. * // Send an XTP_NC_DATEPICKERMOUSEMOVE notification message with * // the accompanying mouse coordinates as parameters. ** * @see DECLARE_XTPSINK */ static const XTP_NOTIFY_CODE XTP_NC_DATEPICKERMOUSEMOVE = (WM_XTP_CALENDAR_BASE + 83); /** * @brief * This is a notification ID that is used to indicate that the * Date Picker is populated. * * @return Date picker is populating when months scrolled, month count changed, or * some other properties and settings where changed. * * Example: *
* // In the header file. * // Declare the xtp sink macro. This creates the sink and associates the sink * // with the CXTPCalendarController object. * * DECLARE_XTPSINK(CXTPCalendarController, m_Sink); * * // Declare the member function that handles the event notification messages. * void OnEvent_DatePicker(XTP_NOTIFY_CODE Event, WPARAM wParam, LPARAM lParam); * * // In the source file. * // Declare the message handler inside the sink macros. * * m_Sink.Advise(ptrDPConn, XTP_NC_DATEPICKERMONTHCHANGED, * &CXTPCalendarController::OnEvent_DatePicker); * ** * @see DECLARE_XTPSINK; */ static const XTP_NOTIFY_CODE XTP_NC_DATEPICKERMONTHCHANGED = (WM_XTP_CALENDAR_BASE + 84); /** * @brief This notification is used to get day item metrics. * Sender - CXTPDatePickerControl. * * @details It is sent before a CallBack function call. * * @param wParam [in] A day date as XTP_DATE_VALUE; * @param lParam [in/out] A pointer to day metrics as XTP_DAYITEM_METRICS*. * * @see CXTPDatePickerControl::GetDayMetrics * @see CXTPDatePickerControl::SetCallbackDayMetrics */ static const XTP_NOTIFY_CODE XTP_NC_DATEPICKERGETDAYMETRICS = (WM_XTP_CALENDAR_BASE + 85); ///////////////////////////////////////////////////////////////////////////// # include "Common/Base/Diagnostic/XTPEnableNoisyWarnings.h" #endif // !defined(_XTPDatePickerNotifications_H__)