You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1390 lines
56 KiB
C
1390 lines
56 KiB
C
2 years ago
|
// XTPReportDefines.h
|
||
|
//
|
||
|
// This file is a part of the XTREME REPORTCONTROL MFC class library.
|
||
|
// (c)1998-2012 Codejock Software, All Rights Reserved.
|
||
|
//
|
||
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
||
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
||
|
// CONSENT OF CODEJOCK SOFTWARE.
|
||
|
//
|
||
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
||
|
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
||
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
||
|
// SINGLE COMPUTER.
|
||
|
//
|
||
|
// CONTACT INFORMATION:
|
||
|
// support@codejock.com
|
||
|
// http://www.codejock.com
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
#if !defined(__XTPREPORTDEFINES_H__)
|
||
|
#define __XTPREPORTDEFINES_H__
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
#if _MSC_VER > 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER > 1000
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This enum defines the shell icons.
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPReportShellIcon
|
||
|
{
|
||
|
xtpReportShellIconLock = 47
|
||
|
};
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This enum defines the index of the glyphs.
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPReportGlyph
|
||
|
{
|
||
|
xtpReportGlyphInvalid = -1,
|
||
|
xtpReportGlyphRowCollapse = 0,
|
||
|
xtpReportGlyphRowExpand = 1,
|
||
|
xtpReportGlyphEnabledUnchecked = 2,
|
||
|
xtpReportGlyphEnabledChecked = 3,
|
||
|
xtpReportGlyphDisabledUnchecked = 4,
|
||
|
xtpReportGlyphDisabledChecked = 5,
|
||
|
xtpReportGlyphColumnExpand = 6,
|
||
|
xtpReportGlyphColumnRestore = 7,
|
||
|
xtpReportGlyphEnabledTristate = 8,
|
||
|
xtpReportGlyphItemLocked = 9,
|
||
|
xtpReportGlyphItemUnlocked = 10,
|
||
|
xtpReportGlyphCount
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This enum defines the possible checkbox states.
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPReportCheckState
|
||
|
{
|
||
|
xtpReportCheckStateInvalid = -1, // The checkbox state is invalid
|
||
|
xtpReportCheckStateUnchecked = 0, // The checkbox is in an unchecked state
|
||
|
xtpReportCheckStateChecked = 1, // The checkbox is in an checked state
|
||
|
xtpReportCheckStateIndeterminate = 2, // The checkbox is in an indeterminate state
|
||
|
xtpReportCheckStateCount = 3 // Number of checkbox states
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This enum defines body, header, and footer rows.
|
||
|
// See Also:
|
||
|
// CXTPReportRow::m_nRowType
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPReportRowType
|
||
|
{
|
||
|
xtpRowTypeInvalid = -1, // Indicates an invalid row type
|
||
|
xtpRowTypeBody = 0, // The row is in body rows collection.
|
||
|
xtpRowTypeHeader = 1, // The row is in Headers rows collection.
|
||
|
xtpRowTypeFooter = 2 // The row is in Footers rows collection.
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Enumeration of orientations.
|
||
|
// See Also: SetGridStyle
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPReportOrientation
|
||
|
{
|
||
|
xtpReportOrientationHorizontal = 0,
|
||
|
xtpReportOrientationVertical = 1,
|
||
|
xtpReportOrientationAll = 2
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Represents predefined grid line styles:
|
||
|
// Example:
|
||
|
// <code>m_wndReport.SetGridStyle(FALSE, xtpReportGridLargeDots);</code>
|
||
|
// See Also: CXTPReportControl::SetGridStyle
|
||
|
//
|
||
|
// <KEYWORDS xtpReportGridNoLines, xtpReportGridSmallDots, xtpReportGridLargeDots, xtpReportGridDashes, xtpReportGridSolid>
|
||
|
//===========================================================================
|
||
|
enum XTPReportLineStyle
|
||
|
{
|
||
|
xtpReportLineStyleNone = 0, // No line
|
||
|
xtpReportLineStyleDotSmall = 1, // Line is drawn with small dots
|
||
|
xtpReportLineStyleDotLarge = 2, // Line is drawn with large dots
|
||
|
xtpReportLineStyleDash = 3, // Line is drawn with dashes
|
||
|
xtpReportLineStyleSolid = 4, // Solid line
|
||
|
xtpReportLineStyleCount = 5, // Number of line styles
|
||
|
|
||
|
// Old names
|
||
|
xtpReportGridNoLines = xtpReportLineStyleNone,
|
||
|
xtpReportGridSmallDots = xtpReportLineStyleDotSmall,
|
||
|
xtpReportGridLargeDots = xtpReportLineStyleDotLarge,
|
||
|
xtpReportGridDashes = xtpReportLineStyleDash,
|
||
|
xtpReportGridSolid = xtpReportLineStyleSolid
|
||
|
};
|
||
|
|
||
|
typedef XTPReportLineStyle XTPReportGridStyle;
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Represents predefined freeze column line styles:
|
||
|
//===========================================================================
|
||
|
enum XTPReportFreezeColsDividerStyle
|
||
|
{
|
||
|
xtpReportFreezeColsDividerThin = 0x01, // thin line style
|
||
|
xtpReportFreezeColsDividerBold = 0x02, // bold line style
|
||
|
xtpReportFreezeColsDividerHeader = 0x04, // header line style
|
||
|
xtpReportFreezeColsDividerShade = 0x08, // shade line style
|
||
|
xtpReportFreezeColsDividerShowAlways = 0x10, // show event if AutoColumnSizing is On
|
||
|
};
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
// deprecated
|
||
|
#define xtpGridNoLines xtpReportGridNoLines
|
||
|
#define xtpGridSmallDots xtpReportGridSmallDots
|
||
|
#define xtpGridLargeDots xtpReportGridLargeDots
|
||
|
#define xtpGridDashes xtpReportGridDashes
|
||
|
#define xtpGridSolid xtpReportGridSolid
|
||
|
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Represents predefined column styles.
|
||
|
// Example:
|
||
|
// <code>m_wndReport.GetPaintManager()->m_columnStyle = xtpReportColumnFlat;</code>
|
||
|
// See Also: CXTPReportPaintManager::m_columnStyle, CXTPReportPaintManager
|
||
|
//
|
||
|
// <KEYWORDS xtpReportColumnShaded, xtpReportColumnFlat>
|
||
|
//===========================================================================
|
||
|
enum XTPReportColumnStyle
|
||
|
{
|
||
|
xtpReportColumnShaded, // Columns are gray shaded.
|
||
|
xtpReportColumnFlat, // Flat style for drawing columns.
|
||
|
xtpReportColumnExplorer, // Explorer column style
|
||
|
xtpReportColumnOffice2003, // Gradient column style
|
||
|
xtpReportColumnResource // Office 2007/2010 column style
|
||
|
};
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
// deprecated
|
||
|
#define xtpColumnShaded xtpReportColumnShaded
|
||
|
#define xtpColumnFlat xtpReportColumnFlat
|
||
|
#define xtpReportColumnOffice2007 xtpReportColumnResource
|
||
|
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Represent the style of lines used to draw a hierarchical tree structure.
|
||
|
// Example:
|
||
|
// <code>m_wndReport.GetPaintManager()->m_treeStructureStyle = xtpReportTreeStructureSolid;</code>
|
||
|
// See Also: CXTPReportPaintManager::m_treeStructureStyle, CXTPReportPaintManager
|
||
|
//
|
||
|
// <KEYWORDS xtpReportTreeStructureNone, xtpReportTreeStructureSolid>
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPReportTreeStructureStyle
|
||
|
{
|
||
|
xtpReportTreeStructureNone, // No lines will be drawn from the parent node to each child node.
|
||
|
xtpReportTreeStructureSolid, // Lines will be drawn from the parent node to each child node at the next level.
|
||
|
xtpReportTreeStructureDots // Dots will be drawn from the parent node to each child node at the next level.
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Represent the Header/Footer rows divider style.
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPReportSectionDividerStyle
|
||
|
{
|
||
|
xtpReportSectionDividerStyleNone = 0x00, // no line
|
||
|
xtpReportSectionDividerStyleThin = 0x01, // thin style
|
||
|
xtpReportSectionDividerStyleBold = 0x02, // bold style
|
||
|
xtpReportSectionDividerStyleShade = 0x04, // shaded line style
|
||
|
xtpReportSectionDividerStyleOutlook = 0x08, // outlook line style
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
// Deprecated
|
||
|
xtpReportFixedRowsDividerNone = xtpReportSectionDividerStyleNone,
|
||
|
xtpReportFixedRowsDividerThin = xtpReportSectionDividerStyleThin,
|
||
|
xtpReportFixedRowsDividerBold = xtpReportSectionDividerStyleBold,
|
||
|
xtpReportFixedRowsDividerShade = xtpReportSectionDividerStyleShade,
|
||
|
xtpReportFixedRowsDividerOutlook = xtpReportSectionDividerStyleOutlook
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
};
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
// Old enum name
|
||
|
typedef XTPReportSectionDividerStyle XTPReportFixedRowsDividerStyle;
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Section divider position.
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPReportSectionDividerPosition
|
||
|
{
|
||
|
xtpReportSectionDividerPositionTop = 0, // Divider above the section
|
||
|
xtpReportSectionDividerPositionBottom = 1 // Divider below the section
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Represent the Report Draw Sort Triangle logic
|
||
|
//-----------------------------------------------------------------------
|
||
|
enum XTPReportDrawSortTriangleStyle
|
||
|
{
|
||
|
xtpReportDrawSortTriangleDefault = 0, // The triangle will be removed when the column size is too small to display
|
||
|
// the full caption and triangle
|
||
|
xtpReportDrawSortTriangleAlways = 1, // The sort triangle displayed in column header when a column is sorted and
|
||
|
// the caption will cut will ellipsis
|
||
|
xtpReportDrawSortTriangleNever = 2 // Never draw the triangle.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Enumeration of hyperlink text decoration.
|
||
|
//
|
||
|
// <KEYWORDS xtpReportTextDecorationNone, xtpReportTextDecorationUnderline>
|
||
|
//===========================================================================
|
||
|
enum XTPReportTextDecoration
|
||
|
{
|
||
|
xtpReportTextDecorationNone = 0, // Text has no decoration
|
||
|
xtpReportTextDecorationUnderline = 1 // Text is underlined
|
||
|
};
|
||
|
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
XTP_DECLARE_HEAP_ALLOCATOR_(CXTPReportDataAllocator, _XTP_EXT_CLASS)
|
||
|
XTP_DECLARE_HEAP_ALLOCATOR_(CXTPReportRowAllocator, _XTP_EXT_CLASS)
|
||
|
|
||
|
// to allocate in the app default heap
|
||
|
XTP_DECLARE_HEAP_ALLOCATOR_(CXTPReportAllocatorDefault, _XTP_EXT_CLASS)
|
||
|
|
||
|
XTP_DECLARE_BATCH_ALLOC_OBJ_DATA_(CXTPReportRow_BatchData, _XTP_EXT_CLASS);
|
||
|
XTP_DECLARE_BATCH_ALLOC_OBJ_DATA_(CXTPReportGroupRow_BatchData, _XTP_EXT_CLASS);
|
||
|
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// NULL terminated string used by CXTPReportControl which specifies
|
||
|
// the window class name for the report control.
|
||
|
// Example:
|
||
|
// <code>
|
||
|
// BOOL CXTPReportControl::RegisterWindowClass()
|
||
|
// {
|
||
|
// WNDCLASS wndcls;
|
||
|
// HINSTANCE hInst = AfxGetInstanceHandle();
|
||
|
//
|
||
|
// if (!(::GetClassInfo(hInst, XTPREPORTCTRL_CLASSNAME, &wndcls)))
|
||
|
// {
|
||
|
// // otherwise we need to register a new class
|
||
|
// wndcls.style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;
|
||
|
// wndcls.lpfnWndProc = ::DefWindowProc;
|
||
|
// wndcls.cbClsExtra = wndcls.cbWndExtra = 0;
|
||
|
// wndcls.hInstance = hInst;
|
||
|
// wndcls.hIcon = NULL;
|
||
|
// wndcls.hCursor = AfxGetApp()->LoadStandardCursor(IDC_ARROW);
|
||
|
// wndcls.hbrBackground = (HBRUSH) (COLOR_3DFACE + 1);
|
||
|
// wndcls.lpszMenuName = NULL;
|
||
|
// wndcls.lpszClassName = XTPREPORTCTRL_CLASSNAME;
|
||
|
//
|
||
|
// if (!AfxRegisterClass(&wndcls))
|
||
|
// {
|
||
|
// AfxThrowResourceException();
|
||
|
// return FALSE;
|
||
|
// }
|
||
|
// }
|
||
|
//
|
||
|
// return TRUE;
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// CXTPReportControl::RegisterWindowClass
|
||
|
//-----------------------------------------------------------------------
|
||
|
const TCHAR XTPREPORTCTRL_CLASSNAME[] = _T("XTPReport");
|
||
|
const TCHAR XTPTRACKCTRL_CLASSNAME[] = _T("XTPTrackControl");
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// Report control records clipboard format name.
|
||
|
//===========================================================================
|
||
|
static const LPCTSTR XTPREPORTCTRL_CF_RECORDS = _T("XTPReport_CF_Records");
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This constant indicates that a COLORREF is not defined.
|
||
|
// Example:
|
||
|
// <code>
|
||
|
// void CXTPReportRecordItem::GetItemMetrics(
|
||
|
// XTP_REPORTRECORDITEM_DRAWARGS* pDrawArgs,
|
||
|
// XTP_REPORTRECORDITEM_METRICS* pItemMetrics)
|
||
|
// {
|
||
|
// if (m_clrBackground != XTP_REPORT_COLOR_DEFAULT)
|
||
|
// pItemMetrics->clrBackground = m_clrBackground;
|
||
|
//
|
||
|
// if (m_clrText != XTP_REPORT_COLOR_DEFAULT)
|
||
|
// pItemMetrics->clrForeground = m_clrText;
|
||
|
//
|
||
|
// if (m_pFontCaption != NULL)
|
||
|
// pItemMetrics->pFont = m_pFontCaption;
|
||
|
//
|
||
|
// else if (m_bBoldText)
|
||
|
// pItemMetrics->pFont =
|
||
|
// &pDrawArgs->pControl->GetPaintManager()->m_fontBoldText;
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// CXTPReportRecordItem, CXTPReportRow
|
||
|
//-----------------------------------------------------------------------
|
||
|
const COLORREF XTP_REPORT_COLOR_DEFAULT = (COLORREF)-1;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This constant indicates that an icon ID is not defined.
|
||
|
// Example:
|
||
|
// <code>
|
||
|
// m_wndReport.AddColumn(new CXTPReportColumn(COLUMN_PRICE, _T("Price"),
|
||
|
// 80, TRUE, XTP_REPORT_NOICON, TRUE, FALSE));
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// CXTPReportColumn
|
||
|
//-----------------------------------------------------------------------
|
||
|
const int XTP_REPORT_NOICON = (int)-1;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
|
||
|
// Defines message for header context menu
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_HEADER_RCLICK notification message is sent to inform
|
||
|
// the owner window that the user has right clicked column of report control
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_HEADER_RCLICK, XTP_ID_REPORT_CONTROL, OnReportColumnRClick)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportColumnRClick(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTRECORDITEM* pItemNotify = (XTP_NM_REPORTRECORDITEM*)pNotifyStruct;
|
||
|
// ASSERT(pItemNotify->pColumn);
|
||
|
// CPoint ptClick = pItemNotify->pt;
|
||
|
//
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_COLUMNORDERCHANGED,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_INPLACEBUTTONDOWN, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_SORTORDERCHANGED, XTP_NM_REPORT_VALUECHANGED,
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_HEADER_RCLICK (NM_FIRST-51)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for handling rows selection changed event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_SELCHANGED notification message is sent to inform
|
||
|
// the owner window that the user select row of report control
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_SELCHANGED, XTP_ID_REPORT_CONTROL, OnReportSelChanged)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportSelChanged(NMHDR* pNMHDR, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_COLUMNORDERCHANGED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_INPLACEBUTTONDOWN,
|
||
|
// XTP_NM_REPORT_SORTORDERCHANGED, XTP_NM_REPORT_VALUECHANGED,
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_SELCHANGED (NM_FIRST-52)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for handling row checking event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_CHECKED notification message is sent to inform
|
||
|
// the owner window that the user click check box of item of report control
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_CHECKED, XTP_ID_REPORT_CONTROL, OnReportCheckItem)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportCheckItem(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTRECORDITEM* pItemNotify = (XTP_NM_REPORTRECORDITEM*) pNotifyStruct;
|
||
|
// ASSERT(pItemNotify != NULL);
|
||
|
//
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_COLUMNORDERCHANGED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_INPLACEBUTTONDOWN, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_SORTORDERCHANGED, XTP_NM_REPORT_VALUECHANGED,
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_CHECKED (NM_FIRST-53)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for handling hyperlink click event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_HYPERLINK notification message is sent to inform
|
||
|
// the owner window that the user click hyperlink of item.
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_HYPERLINK, XTP_ID_REPORT_CONTROL, OnReportHyperlinkClick)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportHyperlinkClick(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTRECORDITEM* pItemNotify = (XTP_NM_REPORTRECORDITEM*) pNotifyStruct;
|
||
|
//
|
||
|
// if (!pItemNotify->pRow || !pItemNotify->pColumn)
|
||
|
// return;
|
||
|
//
|
||
|
// // if click on Hyperlink in Item
|
||
|
// if (pItemNotify->nHyperlink >= 0)
|
||
|
// {
|
||
|
// TRACE(_T("Hyperlink Click : \n row %d \n col %d \n Hyperlink %d.\n"),
|
||
|
// pItemNotify->pRow->GetIndex(),
|
||
|
// pItemNotify->pColumn->GetItemIndex(),
|
||
|
// pItemNotify->nHyperlink);
|
||
|
// }
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_COLUMNORDERCHANGED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_INPLACEBUTTONDOWN, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_SORTORDERCHANGED, XTP_NM_REPORT_VALUECHANGED,
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_HYPERLINK (NM_FIRST-54)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for column changed event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_COLUMNORDERCHANGED notification message is sent to inform
|
||
|
// the owner window that the user change the order of columns of report control.
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_COLUMNORDERCHANGED, XTP_ID_REPORT_CONTROL, OnReportColumnOrderChanged)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportColumnOrderChanged(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTCOLUMNORDERCHANGED* pItemNotify = (XTP_NM_REPORTCOLUMNORDERCHANGED*) pNotifyStruct;
|
||
|
// ASSERT(pItemNotify != NULL);
|
||
|
//
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_INPLACEBUTTONDOWN, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_GROUPORDERCHANGED, XTP_NM_REPORT_SORTORDERCHANGED, XTP_NM_REPORT_VALUECHANGED,
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_COLUMNORDERCHANGED (NM_FIRST-55)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for sort changed event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_SORTORDERCHANGED notification message is sent to inform
|
||
|
// the owner window that the user change click header of report control and change sort order.
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_SORTORDERCHANGED, XTP_ID_REPORT_CONTROL, OnReportSortOrderChanged)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportSortOrderChanged(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTRECORDITEM* pItemNotify = (XTP_NM_REPORTRECORDITEM*) pNotifyStruct;
|
||
|
// ASSERT(pItemNotify != NULL);
|
||
|
//
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_COLUMNORDERCHANGED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_INPLACEBUTTONDOWN, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_VALUECHANGED,
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_SORTORDERCHANGED (NM_FIRST-56)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message when a column header has been clicked and the sort order
|
||
|
// has changed, but CXTPReportControl::Populate has NOT yet been called.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_PRESORTORDERCHANGED notification message is sent to inform
|
||
|
// the owner window that the user change click header of report control the sort order will
|
||
|
// change. XTP_NM_REPORT_PRESORTORDERCHANGED is send BEFORE CXTPReportControl::Populate has been
|
||
|
// called, so the order of the rows has not yet been visibly changed. After CXTPReportControl::Populate is called,
|
||
|
// the XTP_NM_REPORT_SORTORDERCHANGED notification is send to inform that the order has actually
|
||
|
// changed.
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_COLUMNORDERCHANGED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_INPLACEBUTTONDOWN, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_VALUECHANGED, XTP_NM_REPORT_SORTORDERCHANGED
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_PRESORTORDERCHANGED (NM_FIRST-67)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for value changed event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_VALUECHANGED notification message is sent to inform
|
||
|
// the owner window that the user change value of report cell
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CPropertiesView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_VALUECHANGED, ID_REPORT_CONTROL, OnReportValueChanged)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CPropertiesView::OnReportValueChanged(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTRECORDITEM* pItemNotify = (XTP_NM_REPORTRECORDITEM*) pNotifyStruct;
|
||
|
// ASSERT(pItemNotify != NULL);
|
||
|
//
|
||
|
// switch (pItemNotify->pItem->GetItemData())
|
||
|
// {
|
||
|
// case ID_PROPERTY_MULTIPLESELECTION:
|
||
|
// GetTargetReport()->SetMultipleSelection(
|
||
|
// CRecordPropertyBool::GetValue(pItemNotify));
|
||
|
// break;
|
||
|
// case ID_PROPERTY_PREVIEWMODE:
|
||
|
// GetTargetReport()->EnablePreviewMode(
|
||
|
// CRecordPropertyBool::GetValue(pItemNotify));
|
||
|
// GetTargetReport()->Populate();
|
||
|
// break;
|
||
|
// case ID_PROPERTY_GROUPBOXVISIBLE:
|
||
|
// GetTargetReport()->ShowGroupBy(
|
||
|
// CRecordPropertyBool::GetValue(pItemNotify));
|
||
|
// break;
|
||
|
// case ID_PROPERTY_FOCUSSUBITEMS:
|
||
|
// GetTargetReport()->FocusSubItems(
|
||
|
// CRecordPropertyBool::GetValue(pItemNotify));
|
||
|
// break;
|
||
|
// case ID_PROPERTY_ALLOWCOLUMNREMOVE:
|
||
|
// GetTargetReport()->GetReportHeader()->AllowColumnRemove(
|
||
|
// CRecordPropertyBool::GetValue(pItemNotify));
|
||
|
// break;
|
||
|
// case ID_PROPERTY_ALLOWCOLUMNREORDER:
|
||
|
// GetTargetReport()->GetReportHeader()->AllowColumnReorder(
|
||
|
// CRecordPropertyBool::GetValue(pItemNotify));
|
||
|
// break;
|
||
|
// case ID_PROPERTY_ALLOWCOLUMNRESIZE:
|
||
|
// GetTargetReport()->GetReportHeader()->AllowColumnResize(
|
||
|
// CRecordPropertyBool::GetValue(pItemNotify));
|
||
|
// break;
|
||
|
// case ID_PROPERTY_FLATHEADER:
|
||
|
// GetTargetReport()->GetPaintManager()->m_columnStyle =
|
||
|
// (CRecordPropertyBool::GetValue(pItemNotify)) ? xtpReportColumnFlat : xtpReportColumnShaded;
|
||
|
// break;
|
||
|
// case ID_PROPERTY_HIDESELECTION:
|
||
|
// GetTargetReport()->GetPaintManager()->m_bHideSelection =
|
||
|
// (CRecordPropertyBool::GetValue(pItemNotify));
|
||
|
// break;
|
||
|
// case ID_PROPERTY_TREEINDENT:
|
||
|
// GetTargetReport()->GetPaintManager()->m_nTreeIndent =
|
||
|
// CRecordPropertyInt::GetValue(pItemNotify);
|
||
|
// GetTargetReport()->RedrawControl();
|
||
|
// break;
|
||
|
// }
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_COLUMNORDERCHANGED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_INPLACEBUTTONDOWN, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_SORTORDERCHANGED,
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_VALUECHANGED (NM_FIRST-57)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for in-place button click event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_INPLACEBUTTONDOWN notification message is sent to inform
|
||
|
// the owner window that the user click in-place button of report control
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// Returns:
|
||
|
// TRUE if message was processed; FALSE for default process.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_INPLACEBUTTONDOWN, XTP_ID_REPORT_CONTROL, OnReportButtonClick)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportButtonClick(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTINPLACEBUTTON* pItemNotify = (XTP_NM_REPORTINPLACEBUTTON*) pNotifyStruct;
|
||
|
// ASSERT(pItemNotify->pButton);
|
||
|
//
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_COLUMNORDERCHANGED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_SORTORDERCHANGED, XTP_NM_REPORT_VALUECHANGED,
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_INPLACEBUTTONDOWN (NM_FIRST-58)
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for row expand event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_ROWEXPANDED notification message is sent to inform
|
||
|
// the owner window that the user expand or collapse the row of report control .
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_ROWEXPANDED, XTP_ID_REPORT_CONTROL, OnReportRowExpandChanged)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportRowExpandChanged(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTRECORDITEM* pItemNotify = (XTP_NM_REPORTRECORDITEM*) pNotifyStruct;
|
||
|
// ASSERT(pItemNotify != NULL);
|
||
|
//
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_INPLACEBUTTONDOWN, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_SORTORDERCHANGED, XTP_NM_REPORT_VALUECHANGED,
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_ROWEXPANDED (NM_FIRST-59)
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for left mouse button click.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_LBUTTONDOWN notification message is sent to inform
|
||
|
// the owner window that the user press left button on the row.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_LBUTTONDOWN, XTP_ID_REPORT_CONTROL, OnReportLButtonDown)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportLButtonDown(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTRECORDITEM* pItemNotify = (XTP_NM_REPORTRECORDITEM*) pNotifyStruct;
|
||
|
// ASSERT(pItemNotify != NULL);
|
||
|
//
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_INPLACEBUTTONDOWN, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_SORTORDERCHANGED, XTP_NM_REPORT_VALUECHANGED,
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_LBUTTONDOWN (NM_FIRST-60)
|
||
|
#define XTP_NM_REPORT_LBUTTONUP (NM_FIRST-89)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for handling CXTPReportControl::GetItemMetrics().
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_GETITEMMETRICS notification message is sent to allow
|
||
|
// the owner window customize item drawing.
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_GETITEMMETRICS, XTP_ID_REPORT_CONTROL, OnReportGetItemMetrics)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportGetItemMetrics(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTITEMMETRICS* pItemNotify = (XTP_NM_REPORTITEMMETRICS*)pNotifyStruct;
|
||
|
//
|
||
|
// ASSERT(pItemNotify->pDrawArgs);
|
||
|
// ASSERT(pItemNotify->pDrawArgs->pControl);
|
||
|
// ASSERT(pItemNotify->pDrawArgs->pRow);
|
||
|
//
|
||
|
// // pItemNotify->pDrawArgs->pColumn - may be NULL (for a group row)
|
||
|
// // pItemNotify->pDrawArgs->pItem - may be NULL (for a group row)
|
||
|
//
|
||
|
// ASSERT(pItemNotify->pItemMetrics);
|
||
|
//
|
||
|
// // TODO: customize members of pItemNotify->pItemMetrics.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// CXTPReportControl, CXTPReportControl::GetItemMetrics()
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_GETITEMMETRICS (NM_FIRST-61)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for handling CXTPReportControl::OnRequestEdit().
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_REQUESTEDIT notification message is sent to notify
|
||
|
// that an item has entered edit mode. This is send when an editable
|
||
|
// item starts to be edited or when a check box item is checked\unchecked.
|
||
|
// See Also:
|
||
|
// CXTPReportControl, CXTPReportControl::OnRequestEdit()
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_REQUESTEDIT (NM_FIRST-62)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for handling CXTPReportControl::OnBeforeCopyToText().
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_BEFORE_COPY_TOTEXT notification message is sent to allow
|
||
|
// the owner window customize copy/paste operations.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_BEFORE_COPY_TOTEXT, XTP_ID_REPORT_CONTROL, OnBeforeCopyToText)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnBeforeCopyToText(NMHDR* pNotifyStruct, LRESULT* result)
|
||
|
// {
|
||
|
// ASSERT(pNotifyStruct);
|
||
|
//
|
||
|
// XTP_NM_REPORT_BEFORE_COPYPASTE* pnmCopyPaste = (XTP_NM_REPORT_BEFORE_COPYPASTE*)pNotifyStruct;
|
||
|
//
|
||
|
// if (!pnmCopyPaste || !pnmCopyPaste->ppRecord || !*pnmCopyPaste->ppRecord ||
|
||
|
// !pnmCopyPaste->parStrings)
|
||
|
// {
|
||
|
// ASSERT(FALSE);
|
||
|
// return;
|
||
|
// }
|
||
|
//
|
||
|
// // customize data provided by pnmCopyPaste->parStrings
|
||
|
// // you can use source record object: (*pnmCopyPaste->ppRecord)->Member()
|
||
|
//
|
||
|
// // set result to not zero to cancel operation:
|
||
|
// // *result = (LRESULT)TRUE;
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// CXTPReportControl, CXTPReportControl::OnBeforeCopyToText()
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_BEFORE_COPY_TOTEXT (NM_FIRST-63)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for handling CXTPReportControl::OnBeforePasteFromText().
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_BEFORE_PASTE_FROMTEXT notification message is sent
|
||
|
// to allow the owner window customize copy/paste operations.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_BEFORE_PASTE_FROMTEXT, XTP_ID_REPORT_CONTROL, OnReportBeforePasteFromText)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportBeforePasteFromText(NMHDR* pNotifyStruct, LRESULT* result)
|
||
|
// {
|
||
|
// ASSERT(pNotifyStruct);
|
||
|
//
|
||
|
// XTP_NM_REPORT_BEFORE_COPYPASTE* pnmCopyPaste = (XTP_NM_REPORT_BEFORE_COPYPASTE*)pNotifyStruct;
|
||
|
//
|
||
|
// if (!pnmCopyPaste || !pnmCopyPaste->ppRecord || !pnmCopyPaste->parStrings) {
|
||
|
// ASSERT(FALSE);
|
||
|
// return;
|
||
|
// }
|
||
|
//
|
||
|
// CMessageRecord* pRecord = new CMessageRecord();
|
||
|
// if (!pRecord) {
|
||
|
// return;
|
||
|
// }
|
||
|
//
|
||
|
// *pnmCopyPaste->ppRecord = pRecord;
|
||
|
//
|
||
|
// CXTPReportColumns* pColumns = GetReportCtrl().GetColumns();
|
||
|
// ASSERT(pColumns);
|
||
|
// if (!pColumns) {
|
||
|
// return;
|
||
|
// }
|
||
|
//
|
||
|
// int nDataCount = pnmCopyPaste->parStrings->GetSize();
|
||
|
//
|
||
|
// const int nColumnCount = pColumns->GetVisibleColumnsCount();
|
||
|
// for (int nCol = 0; nCol < nColumnCount; nCol++)
|
||
|
// {
|
||
|
// CXTPReportColumn* pColumn = pColumns->GetVisibleAt(nCol);
|
||
|
// CXTPReportRecordItem* pItem = pRecord->GetItem(pColumn);
|
||
|
// ASSERT(pItem);
|
||
|
// if (NULL == pItem)
|
||
|
// continue;
|
||
|
//
|
||
|
// if (nCol < nDataCount)
|
||
|
// {
|
||
|
// CString strItem = pnmCopyPaste->parStrings->GetAt(nCol);
|
||
|
// pItem->SetCaption(strItem);
|
||
|
// }
|
||
|
// }
|
||
|
// // set result to not zero to cancel operation:
|
||
|
// // *result = (LRESULT)TRUE;
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// CXTPReportControl, CXTPReportControl::OnBeforePasteFromText()
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_BEFORE_PASTE_FROMTEXT (NM_FIRST-64)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for handling CXTPReportControl::OnBeforePaste().
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_BEFORE_PASTE notification message is sent to allow
|
||
|
// the owner window customize copy/paste operations.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_BEFORE_PASTE, XTP_ID_REPORT_CONTROL, OnBeforePaste)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnBeforePaste(NMHDR* pNotifyStruct, LRESULT* result)
|
||
|
// {
|
||
|
// ASSERT(pNotifyStruct);
|
||
|
//
|
||
|
// XTP_NM_REPORT_BEFORE_COPYPASTE* pnmCopyPaste = (XTP_NM_REPORT_BEFORE_COPYPASTE*)pNotifyStruct;
|
||
|
// ASSERT(pnmCopyPaste && pnmCopyPaste->parStrings == NULL);
|
||
|
//
|
||
|
// if (!pnmCopyPaste || !pnmCopyPaste->ppRecord || !*pnmCopyPaste->ppRecord) {
|
||
|
// ASSERT(FALSE);
|
||
|
// return;
|
||
|
// }
|
||
|
//
|
||
|
// // you can create new or change provided record using pnmCopyPaste->ppRecord
|
||
|
//
|
||
|
// // set result to not zero to cancel operation:
|
||
|
// // *result = (LRESULT)TRUE;
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// CXTPReportControl, CXTPReportControl::OnBeforePaste()
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_BEFORE_PASTE (NM_FIRST-65)
|
||
|
|
||
|
//{{AFX_CODEJOCK_PRIVATE
|
||
|
// Internal Trace operation
|
||
|
#define XTP_TRACE
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for handling CXTPReportHeader::AdjustColumnsWidth().
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_COLUMNWIDTHCHANGED notification message is sent
|
||
|
// when the width of a column has changed. This can happen when the user
|
||
|
// changes the width or when the Report Control automatically changes the
|
||
|
// width.
|
||
|
// See Also:
|
||
|
// CXTPReportHeader, CXTPReportHeader::AdjustColumnsWidth
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_COLUMNWIDTHCHANGED (NM_FIRST-68)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for handling CXTPReportControl::OnPreviewKeyDown().
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// This notification is sent to Main window in a WM_NOTIFY message before
|
||
|
// processing OnKeyDown event.
|
||
|
// See Also:
|
||
|
// CXTPReportControl::OnPreviewKeyDown, XTP_NM_REPORTPREVIEWKEYDOWN,
|
||
|
// CXTPReportControl::OnKeyDown, CWnd::OnKeyDown.
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_PREVIEWKEYDOWN (NM_FIRST-69)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Indicates the user start dragging records.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// XTP_NM_REPORTDRAGDROP structure passed with this message
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORTDRAGDROP, XTP_NM_REPORT_BEGINDRAG, XTP_NM_REPORT_DROP,
|
||
|
// XTP_NM_REPORT_RECORDS_DROPPED, XTP_NM_REPORT_DRAGDROP_COMPLETED
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_BEGINDRAG (NM_FIRST-70)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Indicates the user dropped records to report control.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// XTP_NM_REPORTDRAGDROP structure passed with this message
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORTDRAGDROP, XTP_NM_REPORT_BEGINDRAG,
|
||
|
// XTP_NM_REPORT_RECORDS_DROPPED, XTP_NM_REPORT_DRAGDROP_COMPLETED
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_DROP (NM_FIRST-71)
|
||
|
#define XTP_NM_REPORT_HASVALIDDROPTYPE (NM_FIRST-85)
|
||
|
#define XTP_NM_REPORT_VALIDDROPTARGET (NM_FIRST-86)
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for in-place editing is canceled and value is not
|
||
|
// changed event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// XTP_NM_REPORTRECORDITEM structure passed with this message
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORTRECORDITEM, XTP_NM_REPORT_VALUECHANGED,
|
||
|
// CXTPReportRecordItem::OnEditCanceled
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_EDIT_CANCELED (NM_FIRST-72)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Indicates the user changed a selected item in the combobox.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// See Also:
|
||
|
// CXTPReportControl::OnConstraintSelecting()
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_CONSTRAINT_SELECTING (NM_FIRST-73)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Indicates the tooltip will be drawn.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// See Also:
|
||
|
// CXTPReportControl::OnGetToolTipInfo()
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_GETTOOLTIPINFO (NM_FIRST-74)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Indicates the records were dropped to report control.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// XTP_NM_REPORTDRAGDROP structure passed with this message
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORTDRAGDROP, XTP_NM_REPORT_BEGINDRAG, XTP_NM_REPORT_DROP,
|
||
|
// XTP_NM_REPORT_DRAGDROP_COMPLETED
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_RECORDS_DROPPED (NM_FIRST-75)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for handling focus changing event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_FOCUS_CHANGING notification message is sent to inform
|
||
|
// the owner window that the focused row or column is about to be changed
|
||
|
// The owner window of the report control receives this notification
|
||
|
// through the WM_COMMAND message.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_FOCUS_CHANGING, XTP_ID_REPORT_CONTROL, OnReportFocusChanging)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportFocusChanging(NMHDR* pNMHDR, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_COLUMNORDERCHANGED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_INPLACEBUTTONDOWN,
|
||
|
// XTP_NM_REPORT_SORTORDERCHANGED, XTP_NM_REPORT_VALUECHANGED, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_FOCUS_CHANGED
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_FOCUS_CHANGING (NM_FIRST-76)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Indicates the user completed drag&drop operation.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// XTP_NM_REPORTDRAGDROP structure passed with this message
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORTDRAGDROP, XTP_NM_REPORT_BEGINDRAG, XTP_NM_REPORT_DROP,
|
||
|
// XTP_NM_REPORT_RECORDS_DROPPED
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_DRAGDROP_COMPLETED (NM_FIRST-77)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for in-place editing has just started.
|
||
|
// Send after XTP_NM_REPORT_REQUESTEDIT and when inplace editor
|
||
|
// has been created.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// XTP_NM_REPORTRECORDITEM structure passed with this message
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORTRECORDITEM, XTP_NM_REPORT_VALUECHANGED,
|
||
|
// XTP_NM_REPORT_REQUESTEDIT,
|
||
|
// CXTPReportRecordItem::OnEditCanceled
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_BEGINEDIT (NM_FIRST-78)
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for selected rows collection changing. Send for
|
||
|
// each row when it added/removed.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// XTP_NM_SELECTION_CHANGING structure passed with this message
|
||
|
// See Also:
|
||
|
// XTP_NM_SELECTION_CHANGING
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_SELCHANGING (NM_FIRST-80)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Indicates the user is dragging records over a control.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// XTP_NM_REPORTDRAGDROP structure passed with this message
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORTDRAGDROP, XTP_NM_REPORT_BEGINDRAG, XTP_NM_REPORT_DROP,
|
||
|
// XTP_NM_REPORT_RECORDS_DROPPED, XTP_NM_REPORT_DRAGDROP_COMPLETED
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_DRAGOVER (NM_FIRST-81)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for column group order changed event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_GROUPORDERCHANGED notification message is sent to inform
|
||
|
// the owner window that the user change the columns group order of report control.
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_GROUPORDERCHANGED, XTP_ID_REPORT_CONTROL, OnReportGroupOrderChanged)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportGroupOrderChanged(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTCOLUMNORDERCHANGED* pItemNotify = (XTP_NM_REPORTCOLUMNORDERCHANGED*) pNotifyStruct;
|
||
|
// ASSERT(pItemNotify != NULL);
|
||
|
//
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORT_CHECKED, XTP_NM_REPORT_HEADER_RCLICK,
|
||
|
// XTP_NM_REPORT_HYPERLINK, XTP_NM_REPORT_INPLACEBUTTONDOWN, XTP_NM_REPORT_SELCHANGED,
|
||
|
// XTP_NM_REPORT_COLUMNORDERCHANGED, XTP_NM_REPORT_SORTORDERCHANGED, XTP_NM_REPORT_VALUECHANGED,
|
||
|
// CXTPReportControl, CXTPReportHeader
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_GROUPORDERCHANGED (NM_FIRST-82)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for item button click event.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_ITEMBUTTONCLICK notification message is sent to inform
|
||
|
// the owner window that the user click item button of report control
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// Returns:
|
||
|
// TRUE if message was processed; FALSE for default process.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_ITEMBUTTONCLICK, XTP_ID_REPORT_CONTROL, OnReportItemButtonClick)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportItemButtonClick(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTITEMCONTROL* pItemNotify = (XTP_NM_REPORTITEMCONTROL*) pNotifyStruct;
|
||
|
// ASSERT(pItemNotify->pItemControl);
|
||
|
//
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// XTP_NM_REPORTITEMCONTROL
|
||
|
// CXTPReportRecordItemControl, CXTPReportRecordItemButton
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_ITEMBUTTONCLICK (NM_FIRST-83)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Defines message for header column click on PlusMinus icon.
|
||
|
// Parameters:
|
||
|
// id - Resource ID for the control.
|
||
|
// memberFxn - Name of member function to handle the message.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_PLUSMINUSCLICK notification message is sent to inform
|
||
|
// the owner window that the user click on header column PlusMinus icon of report control
|
||
|
// The owner window of the report control receives this notification
|
||
|
// threw the WM_COMMAND message.
|
||
|
// Returns:
|
||
|
// TRUE if message was processed; FALSE for default process.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_PLUSMINUSCLICK, XTP_ID_REPORT_CONTROL, OnReportPlusMinusClick)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportPlusMinusClick(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTITEMCONTROL* pItemNotify = (XTP_NM_REPORTITEMCONTROL*) pNotifyStruct;
|
||
|
// ASSERT(pItemNotify->pItemControl);
|
||
|
// ASSERT(pItemNotify->pColumn);
|
||
|
// CPoint ptClick = pItemNotify->pt;
|
||
|
//
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_PLUSMINUSCLICK (NM_FIRST-84)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This message is sent by the report control when the state of an item
|
||
|
// or range of items has changed. It is sent in the form of a WM_NOTIFY message.
|
||
|
// Parameters:
|
||
|
// lpStateChange - Long pointer to an XTP_NM_REPORTSTATECHANGED structure
|
||
|
// that contains data about the item or items that have changed.
|
||
|
// Remarks:
|
||
|
// The XTP_NM_REPORT_STATECHANGED notification message is sent to inform
|
||
|
// the owner window that the state of an item or range of items has changed.
|
||
|
// Returns:
|
||
|
// The application receiving this message must return zero.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would handle this message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CReportSampleView, CXTPReportView)
|
||
|
// ON_NOTIFY(XTP_NM_REPORT_STATECHANGED, XTP_ID_REPORT_CONTROL, OnReportStateChanged)
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CReportSampleView::OnReportStateChanged(NMHDR* pNotifyStruct, LRESULT* /*result*/)
|
||
|
// {
|
||
|
// XTP_NM_REPORTSTATECHANGED* pItemNotify = (XTP_NM_REPORTSTATECHANGED*)pNotifyStruct;
|
||
|
// int nBegin = nm.nBegin; // first item in the range
|
||
|
// int nEnd = nm.nEnd; // last item in the range
|
||
|
//
|
||
|
// // TODO: Handle command.
|
||
|
// }
|
||
|
// </code>
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_STATECHANGED (NM_FIRST-88)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// The XTP_NM_REPORT_HSCROLL message is sent when the horizontal
|
||
|
// scrolling position has changed.
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_HSCROLL (NM_FIRST-90)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// The XTP_NM_REPORT_VSCROLL message is sent when the vertical
|
||
|
// scrolling position has changed.
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_VSCROLL (NM_FIRST-91)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// The XTP_NM_REPORT_MOUSEMOVE message is sent when the
|
||
|
// mouse is moved over the control.
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_NM_REPORT_MOUSEMOVE (NM_FIRST-92)
|
||
|
|
||
|
|
||
|
#define XTP_NM_REPORT_GIVEFEEDBACK (NM_FIRST-93)
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Enables deprecated report control methods
|
||
|
//-----------------------------------------------------------------------
|
||
|
#define XTP_REPORT_DEPRECATED() (1)
|
||
|
|
||
|
class CXTPReportRow;
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Define a function pointer for comparing events.
|
||
|
// Remarks:
|
||
|
// This function pointer is used in the SortEx method.
|
||
|
// See Also:
|
||
|
// Sort, SortEx, CXTPReportControl::SetRowsCompareFunc
|
||
|
//-----------------------------------------------------------------------
|
||
|
typedef int (_cdecl* XTPReportRowsCompareFunc)(const CXTPReportRow** pRow1, const CXTPReportRow** pRow2);
|
||
|
|
||
|
|
||
|
#define XTP_DECLARE_PROPERTY(property, type)\
|
||
|
afx_msg type OleGet##property();\
|
||
|
afx_msg void OleSet##property(type);
|
||
|
|
||
|
#define XTP_DISP_PROPERTY_EX_ID(theClass, szExternalName, dispid, vtPropType)\
|
||
|
DISP_PROPERTY_EX_ID(theClass, #szExternalName, dispid, OleGet##szExternalName, OleSet##szExternalName, vtPropType)
|
||
|
|
||
|
#define XTP_IMPLEMENT_PROPERTY(theClass, theProperty, theMember, theType)\
|
||
|
theType theClass::OleGet##theProperty()\
|
||
|
{\
|
||
|
return theMember;\
|
||
|
}\
|
||
|
void theClass::OleSet##theProperty(theType set)\
|
||
|
{\
|
||
|
theMember = set;\
|
||
|
}
|
||
|
|
||
|
#define XTP_IMPLEMENT_PROPERTY_COLOR(theClass, theProperty, theMember)\
|
||
|
COLORREF theClass::OleGet##theProperty()\
|
||
|
{\
|
||
|
return theMember;\
|
||
|
}\
|
||
|
void theClass::OleSet##theProperty(COLORREF oleColor)\
|
||
|
{\
|
||
|
theMember = AxTranslateColor(oleColor);\
|
||
|
}
|
||
|
|
||
|
|
||
|
#endif //#if !defined(__XTPREPORTDEFINES_H__)
|