Snap-In Object Macros
These macros provide support for snap-in extensions.
Name | Description |
---|---|
BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP | Marks the beginning of the snap-in extension data class map for a Snap-In object. |
BEGIN_SNAPINTOOLBARID_MAP | Marks the beginning of the toolbar map for a Snap-In object. |
END_EXTENSION_SNAPIN_NODEINFO_MAP | Marks the end of the snap-in extension data class map for a Snap-In object. |
END_SNAPINTOOLBARID_MAP | Marks the end of the toolbar map for a Snap-In object. |
EXTENSION_SNAPIN_DATACLASS | Creates a data member for the data class of the snap-in extension. |
EXTENSION_SNAPIN_NODEINFO_ENTRY | Enters a snap-in extension data class into the snap-in extension data class map of the Snap-In object. |
SNAPINMENUID | Declares the ID of the context menu used by the Snap-In object. |
SNAPINTOOLBARID_ENTRY | Enters a toolbar into the toolbar map of the Snap-In object. |
Requirements
Header: atlsnap.h
BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP
Marks the beginning of the snap-in extension data class map.
BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP(classname)
Parameters
classname
[in] The name of the snap-in extension data class.
Remarks
Start your snap-in extension map with the BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP macro, add entries for each of your snap-in extension data types with the EXTENSION_SNAPIN_NODEINFO_ENTRY macro, and complete the map with the END_EXTENSION_SNAPIN_NODEINFO_MAP macro.
Example
class CMyExtSnapinExtData :
public CSnapInItemImpl<CMyExtSnapinExtData>,
public CMySnapinBase
{
public:
CMyExtSnapinExtData() {}
};
class CMyExtSnapin :
public CComObjectRoot,
public CSnapInObjectRoot<1, CMyExtSnapin>,
public IComponentDataImpl<CMyExtSnapin, CMyExtSnapin>
{
public:
CMyExtSnapin() {}
BEGIN_COM_MAP(CMyExtSnapin)
END_COM_MAP()
EXTENSION_SNAPIN_DATACLASS(CMyExtSnapinExtData)
BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP(CMyExtSnapin)
EXTENSION_SNAPIN_NODEINFO_ENTRY(CMyExtSnapinExtData)
END_EXTENSION_SNAPIN_NODEINFO_MAP()
};
BEGIN_SNAPINTOOLBARID_MAP
Declares the beginning of the toolbar ID map for the Snap-In object.
BEGIN_SNAPINTOOLBARID_MAP(_class)
Parameters
_class
[in] Specifies the Snap-In object class.
Example
class CMySnapinData :
public CSnapInItemImpl<CMySnapinData>,
public CMySnapinBase
{
public:
CMySnapinData() {}
BEGIN_SNAPINTOOLBARID_MAP(CMySnapinData)
// IDR_MYSNAPINTOOLBAR is the resource ID of a toolbar resource.
SNAPINTOOLBARID_ENTRY(IDR_MYSNAPINTOOLBAR)
END_SNAPINTOOLBARID_MAP()
};
END_EXTENSION_SNAPIN_NODEINFO_MAP
Marks the end of the snap-in extension data class map.
END_EXTENSION_SNAPIN_NODEINFO_MAP()
Remarks
Start your snap-in extension map with the BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP macro, add entries for each of your extension snap-in data types with the EXTENSION_SNAPIN_NODEINFO_ENTRY macro, and complete the map with the END_EXTENSION_SNAPIN_NODEINFO_MAP macro.
Example
See the example for BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP.
END_SNAPINTOOLBARID_MAP
Declares the end of the toolbar ID map for the Snap-In object.
END_SNAPINTOOLBARID_MAP( _class )
Parameters
_class
[in] Specifies the Snap-In object class.
Example
See the example for BEGIN_SNAPINTOOLBARID_MAP.
EXTENSION_SNAPIN_DATACLASS
Adds a data member to the snap-in extension data class for an ISnapInItemImpl-derived class.
EXTENSION_SNAPIN_DATACLASS(dataClass )
Parameters
dataClass
[in] The data class of the snap-in extension.
Remarks
This class should also be entered into a snap-in extension data class map. Start your snap-in extension data class map with the BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP macro, add entries for each of your snap-in extension data types with the EXTENSION_SNAPIN_NODEINFO_ENTRY macro, and complete the map with the END_EXTENSION_SNAPIN_NODEINFO_MAP macro.
Example
class CMyExtSnapinExtData :
public CSnapInItemImpl<CMyExtSnapinExtData>,
public CMySnapinBase
{
public:
CMyExtSnapinExtData() {}
};
class CMyExtSnapin :
public CComObjectRoot,
public CSnapInObjectRoot<1, CMyExtSnapin>,
public IComponentDataImpl<CMyExtSnapin, CMyExtSnapin>
{
public:
CMyExtSnapin() {}
BEGIN_COM_MAP(CMyExtSnapin)
END_COM_MAP()
EXTENSION_SNAPIN_DATACLASS(CMyExtSnapinExtData)
BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP(CMyExtSnapin)
EXTENSION_SNAPIN_NODEINFO_ENTRY(CMyExtSnapinExtData)
END_EXTENSION_SNAPIN_NODEINFO_MAP()
};
EXTENSION_SNAPIN_NODEINFO_ENTRY
Adds a snap-in extension data class to the snap-in extension data class map.
EXTENSION_SNAPIN_NODEINFO_ENTRY( dataClass )
Parameters
dataClass
[in] The data class of the snap-in extension.
Remarks
Start your snap-in extension data class map with the BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP macro, add entries for each of your snap-in extension data types with the EXTENSION_SNAPIN_NODEINFO_ENTRY macro, and complete the map with the END_EXTENSION_SNAPIN_NODEINFO_MAP macro.
Example
See the example for BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP.
SNAPINMENUID
Use this macro to declare the context menu resource of the Snap-In object.
SNAPINMENUID( id )
Parameters
id
[in] Identifies the context menu of the Snap-In object.
SNAPINTOOLBARID_ENTRY
Use this macro to enter a toolbar ID into the Snap-In object's toolbar ID map.
SNAPINTOOLBARID_ENTRY( id )
Parameters
id
[in] Identifies the toolbar control.
Remarks
The BEGIN_SNAPINTOOLBARID_MAP macro marks the beginning of the toolbar ID map; the END_SNAPINTOOLBARID_MAP macro marks the end.
Example
See the example for BEGIN_SNAPINTOOLBARID_MAP.
See also
Σχόλια
https://aka.ms/ContentUserFeedback.
Σύντομα διαθέσιμα: Καθ' όλη τη διάρκεια του 2024 θα καταργήσουμε σταδιακά τα ζητήματα GitHub ως μηχανισμό ανάδρασης για το περιεχόμενο και θα το αντικαταστήσουμε με ένα νέο σύστημα ανάδρασης. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα:Υποβολή και προβολή σχολίων για