/** * @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__)