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

📄 lnrttabl.hpp

📁 IBM Lotus C++ API 7.0a for IBM Lotus Notes/Domino Directory Release --------- ------------------
💻 HPP
📖 第 1 页 / 共 2 页
字号:
//==========================================================================================
//
// Module:	LNRTTABL.HPP
//
// Description
//
//  Class Library description for LNTable, LNTableBody, LNTableCell,
//  LNTableCellBody.
//
//==========================================================================================
//
// Copyright (c) 1997-2003 Lotus Development Corporation. All rights reserved.
// This software is subject to the Lotus Software Agreement, Restricted
// Rights for U.S. government users, and applicable export regulations.
//
//===========================================================================

#ifndef LNRTTABL_HPP
#define LNRTTABL_HPP

#include "editdflt.h"


enum LNTABLEBORDERSTYLE
{
	LNTABLEBORDERSTYLE_NONE		=	CDBORDERSTYLE_NONE,
	LNTABLEBORDERSTYLE_DASHED	=	CDBORDERSTYLE_DASHED,
	LNTABLEBORDERSTYLE_DOTTED	=	CDBORDERSTYLE_DOTTED,
	LNTABLEBORDERSTYLE_DOUBLE	=	CDBORDERSTYLE_DOUBLE,
	LNTABLEBORDERSTYLE_GROOVE	=	CDBORDERSTYLE_GROOVE,
	LNTABLEBORDERSTYLE_INSET	=	CDBORDERSTYLE_INSET,
	LNTABLEBORDERSTYLE_OUTSET	=	CDBORDERSTYLE_OUTSET,
	LNTABLEBORDERSTYLE_RIDGE	=	CDBORDERSTYLE_RIDGE,
	LNTABLEBORDERSTYLE_SOLID	=	CDBORDERSTYLE_SOLID
};

#define LNCELLBORDERSTYLE			LNTABLEBORDERSTYLE
#define	LNCELLBORDERSTYLE_SOLID		LNTABLEBORDERSTYLE_SOLID
#define	LNCELLBORDERSTYLE_GROOVE	LNTABLEBORDERSTYLE_GROOVE
#define	LNCELLBORDERSTYLE_RIDGE		LNTABLEBORDERSTYLE_RIDGE

enum LNCELLBORDERTYPE
{
	LNCELLBORDERTYPE_NONE   = TABLE_BORDER_NONE,
	LNCELLBORDERTYPE_SINGLE = TABLE_BORDER_SINGLE,
	LNCELLBORDERTYPE_DOUBLE = TABLE_BORDER_DOUBLE
};

enum LNTABLECOLORSTYLE
{
	LNTABLECOLORSTYLE_NONE = 0,
	LNTABLECOLORSTYLE_SOLID,
	LNTABLECOLORSTYLE_ALTERNATING_ROWS,
	LNTABLECOLORSTYLE_ALTERNATING_COLUMNS,
	LNTABLECOLORSTYLE_LEFT_TOP,
	LNTABLECOLORSTYLE_LEFT,
	LNTABLECOLORSTYLE_RIGHT_TOP,
	LNTABLECOLORSTYLE_RIGHT,
	LNTABLECOLORSTYLE_TOP
};

#ifndef TRANS_LEFTTORIGHT_COLUMN
	#define TRANS_LEFTTORIGHT_COLUMN	1
	#define TRANS_ROLLING				2
	#define TRANS_TOPTOBOTTOM_ROW		3
	#define TRANS_WIPE					4
	#define TRANS_BOXES_INCREMENT		5
	#define TRANS_EXPLODE				6
	#define TRANS_DISSOLVE				7
#endif

enum LNTRANSITIONEFFECT
{
	LNTRANSITIONEFFECT_NONE,
	LNTRANSITIONEFFECT_LEFT_TO_RIGHT = TRANS_LEFTTORIGHT_COLUMN,
	LNTRANSITIONEFFECT_ROLLING = TRANS_ROLLING,
	LNTRANSITIONEFFECT_TOP_TO_BOTTOM = TRANS_TOPTOBOTTOM_ROW,
	LNTRANSITIONEFFECT_WIPE = TRANS_WIPE,
	LNTRANSITIONEFFECT_BOX_BY_BOX = TRANS_BOXES_INCREMENT,
	LNTRANSITIONEFFECT_EXPLODE = TRANS_EXPLODE,
	LNTRANSITIONEFFECT_DISSOLVE = TRANS_DISSOLVE
};

enum LNTABLEROWDISPLAY
{
	LNTABLEROWDISPLAY_UNKNOWN,				// Something we don't recognize
	LNTABLEROWDISPLAY_ALL,					// "Show all table rows"
	LNTABLEROWDISPLAY_TABS,					// "Pick row via tab buttons"
	LNTABLEROWDISPLAY_PERIODIC,				// "Switch row every n milliseconds"
	LNTABLEROWDISPLAY_BY_FIELD,				// "Switch rows programmatically"
	LNTABLEROWDISPLAY_BY_FIELD_WITH_TABS,	// ditto, with tabs
	LNTABLEROWDISPLAY_ONCE_ON_OPEN,			// "Switch row..."/"Once when opened"
	LNTABLEROWDISPLAY_ONCE_ON_CLICK,		// "Switch row..."/"Once on click"
	LNTABLEROWDISPLAY_SWITCH_ON_CLICK		// "Switch row..."/"Advance on click"
};

enum LNTABLEWIDTHTYPE
{
	LNTABLEWIDTHTYPE_FIXED_LEFT,
	LNTABLEWIDTHTYPE_FIXED_CENTER,
	LNTABLEWIDTHTYPE_FIXED_RIGHT,
	LNTABLEWIDTHTYPE_FIT_MARGINS,
	LNTABLEWIDTHTYPE_FIT_WINDOW
};

enum LNCELLALIGNMENT
{
	LNCELLALIGNMENT_TOP = 0,
	LNCELLALIGNMENT_CENTER,
	LNCELLALIGNMENT_BOTTOM
};

enum LNCELLCOLORSTYLE
{
	LNCELLCOLORSTYLE_NONE = 0,
	LNCELLCOLORSTYLE_HORIZONTAL_GRADIENT,
	LNCELLCOLORSTYLE_VERTICAL_GRADIENT
};

enum LNCELLIMAGEPLACEMENT
{
	LNCELLIMAGEPLACEMENT_UNKNOWN,
	LNCELLIMAGEPLACEMENT_CENTER,
	LNCELLIMAGEPLACEMENT_REPEAT_ONCE,
	LNCELLIMAGEPLACEMENT_REPEAT_VERTICAL,
	LNCELLIMAGEPLACEMENT_REPEAT_HORIZONTAL,
	LNCELLIMAGEPLACEMENT_RESIZE,
	LNCELLIMAGEPLACEMENT_TILE
};

// The following symbols are deprecated:

#define LNTABLEBORDERSTYLE_EMBOSS	LNCELLBORDERSTYLE_GROOVE
#define LNTABLEBORDERSTYLE_EMBOSSED LNCELLBORDERSTYLE_GROOVE
#define LNTABLEBORDERSTYLE_EXTRUDE	LNCELLBORDERSTYLE_RIDGE
#define LNTABLEBORDERSTYLE_EXTRUDED LNCELLBORDERSTYLE_RIDGE
#define LNTABLEBORDERSTYLE_STANDARD	LNCELLBORDERSTYLE_SOLID

#define LNTABLEBORDERTYPE			LNCELLBORDERTYPE
#define LNTABLEBORDERTYPE_NONE		LNCELLBORDERTYPE_NONE
#define LNTABLEBORDERTYPE_SINGLE	LNCELLBORDERTYPE_SINGLE
#define LNTABLEBORDERTYPE_DOUBLE	LNCELLBORDERTYPE_DOUBLE


class LNIMPEXPCL LNTableCell : public LNRTContainer
{

public:

	LNTableCell();
	LNTableCell(const LNRTObject &other);
	LNTableCell(const LNTableCell &other);

	~LNTableCell();

	LNTableCell& operator=(const LNRTObject &other);
	LNTableCell& operator=(const LNTableCell &other);

	virtual LNSTATUS Append(const LNString &text, LNBOOL convertNewLines = FALSE);
	virtual LNSTATUS Append(const LNRichText &richtext);
	virtual LNSTATUS Append(const LNRTObject &object, LNRTObject *newObject = 0);

	LNColor	GetBackgroundColor() const;

	LNCELLBORDERTYPE GetBottomBorderType() const;

	LNINT GetBottomBorderWidth() const;

	LNSTATUS GetCDTableCell(CDTABLECELL *tablecell) const;

	virtual LNCLASSID GetClassID() const { return LNCLASSID_LNTABLECELL; }

	LNCELLCOLORSTYLE GetColorStyle () const;

	LNINT GetColumnIndex() const;

	LNSTATUS GetGradientColor (LNColor * color) const;

	LNSTATUS GetHTMLTags (LNHTMLTags * pTags) const;

	LNSTATUS GetImageNameFormula (LNFormula * pName) const;

	LNSTATUS GetImageNameString (LNString * pName) const;

	LNCELLIMAGEPLACEMENT GetImagePlacement () const;

	LNCELLBORDERTYPE GetLeftBorderType() const;
	
	LNINT GetLeftBorderWidth() const;

	LNSTATUS GetMergeBoundaries
		(LNINT * row1, LNINT * col1, LNINT * row2, LNINT * col2) const;

	LNCELLBORDERTYPE GetRightBorderType() const;
	
	LNINT GetRightBorderWidth() const;

	LNINT GetRowIndex() const;

 	LNSTATUS GetTable(LNTable *table) const;

	LNCELLBORDERTYPE GetTopBorderType() const;
	
	LNINT GetTopBorderWidth() const;

	LNTRANSITIONEFFECT GetTransitionEffect ();

	LNCELLALIGNMENT GetVerticalAlignment() const;

	LNBOOL GetTransparent () const;

	LNBOOL HasImage() const;

	LNBOOL IsCellMerged() const;
	LNBOOL IsCellMergedHorizontally() const;
	LNBOOL IsCellMergedVertically() const;

	LNBOOL IsImageNameFormula () const;

	LNBOOL IsImageNameString () const;


	LNSTATUS SetBackgroundColor(const LNColor & color);

	LNSTATUS SetBottomBorderType(const LNCELLBORDERTYPE border);
	
	LNSTATUS SetBottomBorderWidth(LNINT width = 1);

 	LNSTATUS SetCDTableCell(const CDTABLECELL &tablecell);

	void SetCDTableCellColumnSpan(BYTE span);

	void SetCDTableCellFlags(BYTE flags);

	void SetCDTableCellRowSpan(BYTE span);

	LNSTATUS SetColorStyle (LNCELLCOLORSTYLE style);

	LNSTATUS SetGradientColor (const LNColor & color);

	LNSTATUS SetHTMLTags (const LNHTMLTags & tags);

	LNSTATUS SetImage (const LNImageResource & newImage);

	LNSTATUS SetImageNameFormula (const LNFormula & imageName);

	LNSTATUS SetImageNameString (const LNString & imageName);

	LNSTATUS SetImagePlacement (const LNCELLIMAGEPLACEMENT placement);

	LNSTATUS SetLeftBorderType(const LNCELLBORDERTYPE border);
	
	LNSTATUS SetLeftBorderWidth(LNINT width = 1);

	LNSTATUS SetRightBorderType(const LNCELLBORDERTYPE border);

	LNSTATUS SetRightBorderWidth(LNINT width = 1);
	
	LNSTATUS SetTopBorderType(const LNCELLBORDERTYPE border);

	LNSTATUS SetTopBorderWidth(LNINT width = 1);

	LNSTATUS SetTransitionEffect (LNTRANSITIONEFFECT effect);

	LNSTATUS SetTransparent(LNBOOL transparent = TRUE);

	LNSTATUS SetVerticalAlignment (LNCELLALIGNMENT align);

protected:

	LNTableCell(LNTableCellBody *body);

	LNTableCell& operator=(LNTableCellBody *body);

	LNTableCellBody* GetTableCellBody() const;

	virtual void ValidateRTType(const LNRTObject &other) const;

⌨️ 快捷键说明

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