Enumerated types in the interface
This entry was posted on 7/24/2006 9:38 AM and is filed under Tips.
Define your property as a short.
Insert the typedef enum statement at the begining of the library specification as illustrated:
library
SCHEM32Lib
{
importlib(STDOLE_TLB );
importlib(STDTYPE_TLB );
typedef enum
{
[helpstring("Diagonal")] Diagonal=0,
[helpstring("Manhatten")] Rectangular=1,
[helpstring("Horiz Dogleg")] HDogleg=2,
[helpstring("Vert Dogleg")] VDogleg=3,
[helpstring("X Then Y")] XThenY=4,
[helpstring("Y Then X")] YThenX=5
}
LineModeCode;
Now, find the definition of your property in the dispinterface, and change the type from "short" to whatever type you used in your "enum."
dispinterface _DSchem32
{
properties:
// NOTE - ClassWizard will maintain property information here.
// Use extreme caution when editing this section.
//{{AFX_ODL_PROP(CSchem32Ctrl)
[id(1)] LineModeCode LineMode;
[id(2)] short PixelsPerGrid;
[id(3)] boolean SnapToGrid;
[id(4)] DrawModeCode DrawMode;
[id(5)] WireEditCode WireEditMode;