⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editods.h

📁 IBM Lotus C++ API 7.0a for IBM Lotus Notes/Domino Directory Release --------- ------------------
💻 H
📖 第 1 页 / 共 5 页
字号:
											"blank" object */											
		
/*	These remappings of Native clipboard formats are used because we can't
	use Windows or PM constants because they are different */

#define DDEFORMAT_TEXT			0x01	/* CF_TEXT */
#define DDEFORMAT_METAFILE		0x02	/* CF_METAFILE or CF_METAFILEPICT */
#define DDEFORMAT_BITMAP		0x03	/* CF_BITMAP */
#define DDEFORMAT_RTF			0x04	/* Rich Text Format */
#define DDEFORMAT_OWNERLINK		0x06	/* OLE Ownerlink (never saved in CD_DDE or CD_OLE: used at run time) */
#define DDEFORMAT_OBJECTLINK	0x07	/* OLE Objectlink (never saved in CD_DDE or CD_OLE: used at run time) */
#define DDEFORMAT_NATIVE		0x08	/* OLE Native (never saved in CD_DDE or CD_OLE: used at run time) */
#define DDEFORMAT_ICON			0x09	/* Program Icon for embedded object */

/*	Total number of DDE format types supported.  Increment this if 
	one is added above */

#define DDEFORMAT_TYPES			5


typedef struct
	{
	WSIG Header;	/* Signature and length of this record */	
	DWORD Flags;	/* Currently unused, but reserve some flags */
	}CDDDEEND;


/*	On-disk format for an OLE object.  Both Links and
	embedded objects actually have an attached  $FILE "object"
	which is the variable length portion of the data which follows
	the CDOLEBEGIN record. */

typedef struct
	{
	WSIG Header;					/* Signature and length of this record */
	WORD Version;					/* Notes OLE implementation version */
	DWORD Flags;					/* See OLEREC_FLAG_xxx flag definitions below */
	WORD ClipFormat;				/* Clipboard format with which data should be rendered */
									/* (DDEFORMAT_xxx defined above) */
	WORD AttachNameLength;			/* Attached file name length */
	WORD ClassNameLength;			/* Length of Classname */
	WORD TemplateNameLength;		/* User during Insert New Object, but never saved to disk */
	/* The Attachment Name (length "AttachNameLength") always follows... */
	/* The Classname, optional, then follows... */
	/* The Template Name, optional, then follows... */
	} CDOLEBEGIN;

typedef struct
	{
	WSIG Header;	/* Signature and length of this record */	
	DWORD Flags;	/* Currently unused, but reserve some flags */
	}CDOLEEND;

/*	Current OLE Version */

#define NOTES_OLEVERSION1	1
#define NOTES_OLEVERSION2	2

#define	OLEREC_FLAG_OBJECT		0x01	/* The data is an OLE embedded OBJECT */
#define OLEREC_FLAG_LINK		0x02    /* The data is an OLE Link */
#define OLEREC_FLAG_AUTOLINK	0x04	/* If link, Link type == Automatic (hot) */
#define OLEREC_FLAG_MANUALLINK	0x08	/* If link, Link type == Manual (warm) */
#define OLEREC_FLAG_NEWOBJECT	0x10	/* New object, just inserted */
#define OLEREC_FLAG_PASTED		0x20	/* New object, just pasted */
#define OLEREC_FLAG_SAVEOBJWHENCHANGED 0x40 /* Object came from form and should be saved 
											every time it changes in server */
#define OLEREC_FLAG_NOVISUALIZE	0x80	/* Object inherited from form, so don't visualize or
										   object incabable of rendering itself. */ 

/*	On-disk format for an OLE object's rich text marker.  Marker is always
	within an OLE rich text hot spot.  Marker was introduced in Notes 4.6.
	Previous versions of Notes ignor this marker on load and do not write it
	out on save.  The absence of this marker within the hot spot indicates 
	that the OLE rich text was accessed on a system running a pre-4.6 version
	of Notes.  */

typedef struct
	{
	WSIG	Header;				/* Signature and length of this record */
	DWORD	Flags;				/* (reserved) */
	} CDOLERTMARKER;

/*	On-disk format for an OLE object's rich text hot spot data.  This data
	is internal to the hot spot and is treated by the hot spot as a blob of
	data.  It is not a CD record type */

typedef struct
	{
	WSIG	Header;				/* Signature and length of this record */
	DWORD	Flags;				/* (reserved) */
	WORD	cFileObjName;		/* Length of extendable $FILE object name which contains object data */
	WORD	Reserved1;			/* Unused, must be 0 */
	WORD	Reserved2;			/* Unused, must be 0 */
	WORD	Reserved3;			/* Unused, must be 0 */
	DWORD	Reserved4;			/* Unused, must be 0 */
	/* The variable length portions go here in the following order:
	   FileObjectName
	*/
	} HSOLERICHTEXT;

#define OLERT_FLAG_CHANGED	0x01	/* Rich text was changed */
#define OLERT_FLAG_NEW		0x02

/*	On-disk format for HotSpots. */

/*	HOTSPOT_RUN Types */

#define HOTSPOTREC_TYPE_POPUP			1
#define HOTSPOTREC_TYPE_HOTREGION		2
#define HOTSPOTREC_TYPE_BUTTON			3
#define HOTSPOTREC_TYPE_FILE			4
#define HOTSPOTREC_TYPE_SECTION			7
#define HOTSPOTREC_TYPE_ANY				8
#define HOTSPOTREC_TYPE_HOTLINK			11
#define HOTSPOTREC_TYPE_BUNDLE			12
#define HOTSPOTREC_TYPE_V4_SECTION		13
#define HOTSPOTREC_TYPE_SUBFORM			14
#define HOTSPOTREC_TYPE_ACTIVEOBJECT	15
#define HOTSPOTREC_TYPE_OLERICHTEXT		18
#define HOTSPOTREC_TYPE_EMBEDDEDVIEW	19	/* embedded view */
#define HOTSPOTREC_TYPE_EMBEDDEDFPANE	20	/* embedded folder pane */
#define HOTSPOTREC_TYPE_EMBEDDEDNAV		21	/* embedded navigator */
#define HOTSPOTREC_TYPE_MOUSEOVER		22
#define HOTSPOTREC_TYPE_FILEUPLOAD		24	/* file upload placeholder */
#define HOTSPOTREC_TYPE_EMBEDDEDOUTLINE 27	/* embedded outline */
#define HOTSPOTREC_TYPE_EMBEDDEDCTL		28	/* embedded control window */
#define HOTSPOTREC_TYPE_EMBEDDEDCALENDARCTL 30	/* embedded calendar control (date picker) */
#define HOTSPOTREC_TYPE_EMBEDDEDSCHEDCTL 31	/* embedded scheduling control */
#define HOTSPOTREC_TYPE_RCLINK			32	/* Not a new type, but renamed for V5 terms*/
#define HOTSPOTREC_TYPE_EMBEDDEDEDITCTL 34	/* embedded editor control */
#define	HOTSPOTREC_TYPE_CONTACTLISTCTL	36	/* Embeddeble buddy list */

#define HOTSPOTREC_RUNFLAG_BEGIN		0x00000001L
#define HOTSPOTREC_RUNFLAG_END			0x00000002L
#define HOTSPOTREC_RUNFLAG_BOX			0x00000004L
#define HOTSPOTREC_RUNFLAG_NOBORDER		0x00000008L
#define HOTSPOTREC_RUNFLAG_FORMULA		0x00000010L	/*	Popup is a formula, not text. */
#define HOTSPOTREC_RUNFLAG_MOVIE		0x00000020L /*	File is a QuickTime movie. */
#define HOTSPOTREC_RUNFLAG_IGNORE		0x00000040L /*	Run is for backward compatibility
														(i.e. ignore the run)
													*/
#define HOTSPOTREC_RUNFLAG_ACTION		0x00000080L	/*	Hot region executes a canned action	*/
#define HOTSPOTREC_RUNFLAG_SCRIPT		0x00000100L	/*	Hot region executes a script.	*/
#define HOTSPOTREC_RUNFLAG_INOTES  		0x00001000L
#define HOTSPOTREC_RUNFLAG_ISMAP    	0x00002000L
#define HOTSPOTREC_RUNFLAG_INOTES_AUTO	0x00004000L
#define HOTSPOTREC_RUNFLAG_ISMAP_INPUT	0x00008000L

#define HOTSPOTREC_RUNFLAG_SIGNED  		0x00010000L
#define HOTSPOTREC_RUNFLAG_ANCHOR  		0x00020000L
#define HOTSPOTREC_RUNFLAG_COMPUTED		0x00040000L	/*	Used in conjunction
														with computed hotspots.
													*/
#define HOTSPOTREC_RUNFLAG_TEMPLATE		0x00080000L	/*	used in conjunction
														with embedded navigator
														panes.
													*/
#define HOTSPOTREC_RUNFLAG_HIGHLIGHT  	0x00100000L
#define HOTSPOTREC_RUNFLAG_EXTACTION	0x00200000L /*  Hot region executes an extended action */
#define HOTSPOTREC_RUNFLAG_NAMEDELEM	0x00400000L	/*	Hot link to a named element */

/*	Allow R6 dual action type buttons, e.g. client LotusScript, web JS */
#define HOTSPOTREC_RUNFLAG_WEBJAVASCRIPT	0x00800000L

#define HOTSPOTREC_RUNFLAG_ODSMASK		0x00FFFFFCL	/*	Mask for bits stored on disk*/


typedef struct CDHOTSPOTBEGIN
	{
	WSIG Header;	/* Signature and length of this record */	
	WORD Type;
	DWORD Flags;
	WORD DataLength;
	/*	Data Follows. */
	/*  if HOTSPOTREC_RUNFLAG_SIGNED, WORD SigLen then SigData follows. */
	} CDHOTSPOTBEGIN;

typedef struct
	{
	BSIG Header;	/* Signature and length of this record */	
	} CDHOTSPOTEND;

/*	On-disk flags for CDBAR (Collapsible Sections)	*/

#define BARREC_DISABLED_FOR_NON_EDITORS 	1L
#define BARREC_EXPANDED 					2L
#define BARREC_PREVIEW 						4L

#define BARREC_BORDER_INVISIBLE 			0x1000L
#define BARREC_ISFORMULA					0x2000L
#define BARREC_HIDE_EXPANDED				0x4000L

/* Auto expand/collapse properties.	*/

#define BARREC_AUTO_EXP_READ	0x10L
#define BARREC_AUTO_EXP_PRE		0x20L
#define BARREC_AUTO_EXP_EDIT	0x40L
#define BARREC_AUTO_EXP_PRINT	0x80L

#define BARREC_AUTO_EXP_MASK	0xf0L

#define BARREC_AUTO_COL_READ	0x100L
#define BARREC_AUTO_COL_PRE		0x200L
#define BARREC_AUTO_COL_EDIT	0x400L
#define BARREC_AUTO_COL_PRINT	0x800L
#define BARREC_AUTO_COL_MASK	0xF00L

#define BARREC_AUTO_PRE_MASK	(BARREC_AUTO_COL_PRE | BARREC_AUTO_EXP_PRE)
#define BARREC_AUTO_READ_MASK	(BARREC_AUTO_COL_READ | BARREC_AUTO_EXP_READ)
#define BARREC_AUTO_EDIT_MASK	(BARREC_AUTO_COL_EDIT | BARREC_AUTO_EXP_EDIT)
#define BARREC_AUTO_PRINT_MASK	(BARREC_AUTO_COL_PRINT | BARREC_AUTO_EXP_PRINT)

/*	We will make use (in the code) of the fact that the auto expand/collapse
	flags for editors are simply shifted left twelve bits from the normal
	expand/collapse flags.
*/

#define BARREC_AUTO_ED_SHIFT		12

#define BARREC_AUTO_ED_EXP_READ		0x10000L
#define BARREC_AUTO_ED_EXP_PRE		0x20000L
#define BARREC_AUTO_ED_EXP_EDIT		0x40000L
#define BARREC_AUTO_ED_EXP_PRINT	0x80000L

#define BARREC_AUTO_ED_EXP_MASK		0xf00000L

#define BARREC_AUTO_ED_COL_READ		0x100000L
#define BARREC_AUTO_ED_COL_PRE		0x200000L
#define BARREC_AUTO_ED_COL_EDIT		0x400000L
#define BARREC_AUTO_ED_COL_PRINT	0x800000L
#define BARREC_AUTO_ED_COL_MASK		0xF00000L

#define BARREC_AUTO_ED_PRE_MASK		(BARREC_AUTO_ED_COL_PRE | BARREC_AUTO_ED_EXP_PRE)
#define BARREC_AUTO_ED_READ_MASK	(BARREC_AUTO_ED_COL_READ | BARREC_AUTO_ED_EXP_READ)
#define BARREC_AUTO_ED_EDIT_MASK	(BARREC_AUTO_ED_COL_EDIT | BARREC_AUTO_ED_EXP_EDIT)
#define BARREC_AUTO_ED_PRINT_MASK	(BARREC_AUTO_ED_COL_PRINT | BARREC_AUTO_ED_EXP_PRINT)

#define BARREC_INTENDED				0x1000000L
#define BARREC_HAS_COLOR			0x4000000L

#define BARREC_BORDER_MASK			0x70000000L
#define GETBORDERTYPE(a) ((DWORD)((a) & BARREC_BORDER_MASK) >> 28)
#define SETBORDERTYPE(a,b) a = ((DWORD)((a) & ~BARREC_BORDER_MASK) | ((DWORD)(b) << 28))

#define	BARREC_BORDER_SHADOW		0
#define BARREC_BORDER_NONE			1
#define BARREC_BORDER_SINGLE		2
#define	BARREC_BORDER_DOUBLE		3
#define BARREC_BORDER_TRIPLE		4
#define	BARREC_BORDER_TWOLINE		5
#define	BARREC_BORDER_WINDOWCAPTION	6
#define	BARREC_BORDER_OTHER			7
#define	BARREC_BORDER_GRADIENT		7
#define	BARREC_BORDER_TAB			8
#define	BARREC_BORDER_DIAG			9

#define BARREC_INDENTED		0x80000000L

/*	Indicate explicitly those bits that we want to save on-disk
	so that we insure that the others are zero when we save to
	disk so that we can use later.
*/
 
#define BARREC_ODS_MASK 0xF4FF6FF7

/*	On-disk format for Object Bars.	*/

#define BARREC_IS_EXPANDED			0x0001
#define BARREC_IS_DISABLED			0x0002

#define BAR_VERSION1    0

/* Some more border bits put out in extra data thru a CDDATAFLAGS record */

#define BAR_DATA_BORDER_OFFSET		7
#define BARREC_DATA_BORDER_MASK		0x0000007L

#define GETDATABORDERTYPE(a) (((DWORD)((a) & BARREC_DATA_BORDER_MASK )) + BAR_DATA_BORDER_OFFSET)
#define SETDATABORDERTYPE(a,b) a = ((DWORD)((a) & ~BARREC_DATA_BORDER_MASK) | ((DWORD)(b - BAR_DATA_BORDER_OFFSET)))

#define	BARREC_DATA_BORDER_GRADIENT		0	
#define	BARREC_DATA_BORDER_TAB			1	
#define	BARREC_DATA_BORDER_DIAG			2



typedef struct
	{
	WSIG	Header;
	DWORD	Flags;
	FONTID	FontID;
	/*	Caption and name follow	*/
	} CDBAR;

/*	On-disk format for Buttons.	*/

/*	Button-specific run information. */

#define BUTTON_UNUSED			0x0000
#define BUTTON_RUNFLAG_SCRIPT	0x0001
#define BUTTON_RUNFLAG_NOWRAP	0x0002
#define BUTTON_ODS_MASK			0x7F02

#define BUTTON_RUNFLAG_RTL			0x0100
#define BUTTON_RUNFLAG_FIXED		0x0200
#define BUTTON_RUNFLAG_MINIMUM		0x0400
#define BUTTON_RUNFLAG_CONTENT		0x0800
#define BUTTON_RUNFLAG_PROPORTIONAL	0x4000
#define BUTTON_FOCUS_ON				0x8000	/* button has focus	*/

#define BUTTON_RUNFLAG_WIDTH_MASK (BUTTON_RUNFLAG_FIXED | BUTTON_RUNFLAG_MINIMUM | BUTTON_RUNFLAG_CONTENT | BUTTON_RUNFLAG_PROPORTIONAL)

#define BUTTON_EDGE_ROUNDED			0x1000
#define BUTTON_EDGE_SQUARE			0x2000


typedef struct
	{
	WSIG 	Header;	/* Signature and length of this record. */
	WORD 	Flags;	
	WORD 	Width;
	WORD 	Height;
	WORD	Lines;
	FONTID 	FontID;
	/* Button Text Follows	*/
	} CDBUTTON;

#define BUTTON_VERSION1    0

#define BUTTON_TYPE_NORMAL			0x00000000
#define BUTTON_TYPE_OK				0x00000001
#define BUTTON_TYPE_CANCEL			0x00000002
#define BUTTON_TYPE_HELP			0x00000004
#define BUTTON_TYPE_MASK	( BUTTO

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -