|
|
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1996-1998 Microsoft Corporation
//
// Module Name:
// AtlDbgWin.cpp
//
// Description:
// Definitions for debugging windowing classes.
//
// Author:
// David Potter (davidp) February 10, 1998
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#ifndef __ATLDBGWIN_H_
#define __ATLDBGWIN_H_
/////////////////////////////////////////////////////////////////////////////
// Forward Class Declarations
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// External Class Declarations
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Include Files
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Type Definitions
/////////////////////////////////////////////////////////////////////////////
#if DBG
struct ID_MAP_ENTRY { UINT id; // control ID
LPCTSTR pszName; // control name
}; //*** struct ID_MAP_ENTRY
#endif // DBG
#if DBG && ( defined( _DBG_MSG_NOTIFY ) || defined( _DBG_MSG_COMMAND ) || defined( _DBG_MSG ) )
// Define the class name for use without a control name map.
#define DECLARE_CLASS_NAME() static LPCTSTR s_pszClassName;
#define DEFINE_CLASS_NAME( T ) \
_declspec( selectany ) LPCTSTR T::s_pszClassName = _T( #T );
// Declaration of a control name map.
#define DECLARE_CTRL_NAME_MAP() \
DECLARE_CLASS_NAME() \ static const ID_MAP_ENTRY s_rgmapCtrlNames[];
// Beginning of a control name map.
#define BEGIN_CTRL_NAME_MAP( T ) \
DEFINE_CLASS_NAME( T ) \ _declspec( selectany ) const ID_MAP_ENTRY T::s_rgmapCtrlNames[] = {
// Entry in a control name map.
#define DEFINE_CTRL_NAME_MAP_ENTRY( id ) { id, _T( #id ) },
// End of a control name map.
#define END_CTRL_NAME_MAP() { 0, NULL } };
#define DECLARE_ID_STRING( _id ) { _id, _T(#_id) },
#define DECLARE_ID_STRING_2( _id1, _id2 ) { _id1, _T(#_id2) },
#define DECLARE_ID_STRING_EX( _id, _t ) { _id, _T(#_id) _t },
#else // DBG && (defined( _DBG_MSG_NOTIFY ) || defined( _DBG_MSG_COMMAND ))
#define DECLARE_CLASS_NAME()
#define DEFINE_CLASS_NAME( T )
#define DECLARE_CTRL_NAME_MAP()
#define BEGIN_CTRL_NAME_MAP( T )
#define DEFINE_CTRL_NAME_MAP_ENTRY( id )
#define END_CTRL_NAME_MAP()
#endif // DBG && (defined( _DBG_MSG_NOTIFY ) || defined( _DBG_MSG_COMMAND ) || defined( _DBG_MSG ))
/////////////////////////////////////////////////////////////////////////////
// Global Variables
/////////////////////////////////////////////////////////////////////////////
#if DBG && defined( _DBG_MSG )
extern const ID_MAP_ENTRY s_rgmapWindowMsgs[]; #endif // DBG && defined( _DBG_MSG )
#if DBG && defined( _DBG_MSG_COMMAND )
extern const ID_MAP_ENTRY s_rgmapButtonMsgs[]; extern const ID_MAP_ENTRY s_rgmapComboBoxMsgs[]; extern const ID_MAP_ENTRY s_rgmapEditMsgs[]; extern const ID_MAP_ENTRY s_rgmapListBoxMsgs[]; extern const ID_MAP_ENTRY s_rgmapScrollBarMsgs[]; extern const ID_MAP_ENTRY s_rgmapStaticMsgs[]; extern const ID_MAP_ENTRY s_rgmapListViewMsgs[]; extern const ID_MAP_ENTRY s_rgmapTreeViewMsgs[]; extern const ID_MAP_ENTRY s_rgmapIPAddressMsgs[]; #endif // DBG && defined( _DBG_MSG_COMMAND )
#if DBG && defined( _DBG_MSG_NOTIFY )
extern const ID_MAP_ENTRY s_rgmapPropSheetNotifyMsgs[]; #endif // DBG && defined( _DBG_MSG_NOTIFY )
/////////////////////////////////////////////////////////////////////////////
// Global Functions
/////////////////////////////////////////////////////////////////////////////
#if DBG && defined( _DBG_MSG )
// Debug handler for any message
LRESULT DBG_OnMsg( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled, LPCTSTR pszClassName ); #endif // DBG && defined( _DBG_MSG )
#if DBG && defined( _DBG_MSG_NOTIFY )
// Debug handler for the WM_NOTIFY message
LRESULT DBG_OnNotify( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled, LPCTSTR pszClassName, ID_MAP_ENTRY * pmapCtrlNames ); #endif // DBG && defined( _DBG_MSG_NOTIFY )
#if DBG && defined( _DBG_MSG_COMMAND )
// Debug handler for the WM_COMMAND message
LRESULT DBG_OnCommand( UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled, LPCTSTR pszClassName, ID_MAP_ENTRY * pmapCtrlNames ); #endif // DBG && defined( _DBG_MSG_COMMAND )
/////////////////////////////////////////////////////////////////////////////
#endif // __ATLDBGWIN_H_
|