📄 superlayout.h
字号:
#if !defined(AFX_SUPERLAYOUT_H__21CDA3AC_C967_440E_BC0C_E0C6F2715430__INCLUDED_)
#define AFX_SUPERLAYOUT_H__21CDA3AC_C967_440E_BC0C_E0C6F2715430__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
// NOTE: Do not modify the contents of this file. If this class is regenerated by
// Microsoft Visual C++, your modifications will be overwritten.
#define SUPERLAYOUT_DISPID_BEFORE_LAYOUT_DRAW 0x01
#define SUPERLAYOUT_DISPID_AFTER_LAYOUT_DRAW 0x02
#define SUPERLAYOUT_DISPID_SELECTION_CHANGED 0x03
#define SUPERLAYOUT_DISPID_VIEW_SCALE_CHANGED 0x04
// dispatch id definitions for ole stock events are
// defined in <olectl.h>
// they are included here for reference
#define SUPERLAYOUT_DISPID_CLICK (-627)
#define SUPERLAYOUT_DISPID_DBLCLICK (-628)
#define SUPERLAYOUT_DISPID_KEYDOWN (-629)
#define SUPERLAYOUT_DISPID_KEYPRESS (-630)
#define SUPERLAYOUT_DISPID_KEYUP (-631)
#define SUPERLAYOUT_DISPID_MOUSEDOWN (-632)
#define SUPERLAYOUT_DISPID_MOUSEMOVE (-633)
#define SUPERLAYOUT_DISPID_MOUSEUP (-634)
#define SUPERLAYOUT_DISPID_ERROREVENT (-635)
typedef
enum tagLytObjType
{
sclytLinesect =0, //线段
sclytRect =1, //矩形
sclytRoundRect =2, //圆角矩形
sclytEllipse =3, //椭圆
sclytArc =4, //圆弧
sclytPolygon =5, //多边形
sclytPolyline =6, //折线
sclytText =7, //文本
sclytMap =8, //地图对象
sclytGroup =9, //组对象
sclytTable =10,//表格(假的)
sclytArtText =11,//艺术汉字
sclytLegend =12,//图例
sclytScale =13,//比例尺
sclytDirection =14,//方向标
sclytPoint =15,//方向标
sclytPicture =16,//方向标
}seLytObjType;
//注意LytAction接口的常量从0开始,内部从-1开始,新增长量的话,要保持接口内部至值大1。
typedef
enum tagLytActionType
{
sclytActNull = 0, //-1,
sclytActSel =1, //0
sclytActZoomOut =2, //1
sclytActZoomIn =3, //2
sclytActPalm =4, //3
sclytActLinesect =5, //4,
sclytActRect =6, //5,
sclytActRoundRect =7, //6,
sclytActEllipse =8,//7,
sclytActArc =9, //8,
sclytActPolygon =10, //9,
sclytActPolyline =11,//10
sclytActText =12, //11
sclytActMap =13, //12,
sclytActTable =14, //13,
sclytActArtText =16, //15,
sclytActLegend =17, //16,
sclytActScale =18, //17,
sclytActDirection =19, //18
sclytActPoint = 20, //19,
sclytActPicture = 21, //20
}seLytActionType;
typedef
enum tagMapActionType
{
scMapActNull =0,//什么也不干
scMapActPan =1,//地图平移
scMapActZoomIn =2,//放大
scMapActZoomOut =3,//缩小
scMapActZoomFree =4,//自由缩放
}seMapActionType;
typedef
enum tagLytTextAlignType
{
scTextAlignLeft =0,//左对齐
scTextAlignCenter =1,//居中对齐
scTextAlignRight =2,//右对齐
}seLytTextAlignType;
typedef
enum tagMapBorderFillStyle
{ //边框填充模式
scMapBorderFillNon =0,//不填充
scMapBorderFillBitmap =1,//填充位图
scMapBorderFillChar =2,//填充字样
}seMapBorderFillStyle;
typedef
enum tagMapBorderCornerFillStyle
{//转角填充模式
scMapBorderCornerFillStyleNon =0,//不填充
scMapBorderCornerFillStyleBitmap =1,//填充位图
scMapBorderCornerFillStyleChar =2,//填充字样
}seMapBorderCornerFillStyle;
typedef
enum tagMapBorderRotateBaseType
{//边框旋转类型
scMapBorderRotateBaseBottom =0,//下
scMapBorderRotateBaseTop =1,//上
}seMapBorderRotateBaseType;
typedef
enum tagMapBorderCornerRotateBaseType
{//边框转角旋转类型
scMapBorderCornerRotateBaseLeftBottom =0,//
scMapBorderCornerRotateBaseLeftTop =1,//
scMapBorderCornerRotateBaseRightTop =2,//
scMapBorderCornerRotateBaseRightBottom =3,//
}seMapBorderCornerRotateBaseType;
typedef
enum tagDirectionBorderType
{//方向标边框类型
scDirectionBorderNon =0,//
scDirectionBorderSingle=1,//
}seDirectionBorderType;
typedef
enum tagLytMapBorderType
{
sclytMapBorderNone =0, //无边框
sclytMapBorderSingle =1, //单边框
sclytMapBorderComplex =2, //复杂边框
}seLytMapBorderType;
typedef
enum tagLytPrinterPaperSize
{
sclytDMPAPER_LETTER = 1 ,
sclytDMPAPER_LETTERSMALL = 2 ,
sclytDMPAPER_TABLOID = 3 ,
sclytDMPAPER_LEDGER = 4 ,
sclytDMPAPER_LEGAL = 5 ,
sclytDMPAPER_STATEMENT = 6 ,
sclytDMPAPER_EXECUTIVE = 7 ,
sclytDMPAPER_A3 = 8 ,
sclytDMPAPER_A4 = 9 ,
sclytDMPAPER_A4SMALL = 10 ,
sclytDMPAPER_A5 = 11 ,
sclytDMPAPER_B4 = 12 ,
sclytDMPAPER_B5 = 13 ,
sclytDMPAPER_FOLIO = 14 ,
sclytDMPAPER_QUARTO = 15 ,
sclytDMPAPER_10X14 = 16 ,
sclytDMPAPER_11X17 = 17 ,
sclytDMPAPER_NOTE = 18 ,
sclytDMPAPER_ENV_9 = 19 ,
sclytDMPAPER_ENV_10 = 20 ,
sclytDMPAPER_ENV_11 = 21 ,
sclytDMPAPER_ENV_12 = 22 ,
sclytDMPAPER_ENV_14 = 23 ,
sclytDMPAPER_CSHEET = 24 ,
sclytDMPAPER_DSHEET = 25 ,
sclytDMPAPER_ESHEET = 26 ,
sclytDMPAPER_ENV_DL = 27 ,
sclytDMPAPER_ENV_C5 = 28 ,
sclytDMPAPER_ENV_C3 = 29 ,
sclytDMPAPER_ENV_C4 = 30 ,
sclytDMPAPER_ENV_C6 = 31 ,
sclytDMPAPER_ENV_C65 = 32 ,
sclytDMPAPER_ENV_B4 = 33 ,
sclytDMPAPER_ENV_B5 = 34 ,
sclytDMPAPER_ENV_B6 = 35 ,
sclytDMPAPER_ENV_ITALY = 36 ,
sclytDMPAPER_ENV_MONARCH = 37 ,
sclytDMPAPER_ENV_PERSONAL = 38 ,
sclytDMPAPER_FANFOLD_US = 39 ,
sclytDMPAPER_FANFOLD_STD_GERMAN = 40 ,
sclytDMPAPER_FANFOLD_LGL_GERMAN = 41 ,
sclytDMPAPER_ISO_B4 = 42 ,
sclytDMPAPER_JAPANESE_POSTCARD = 43 ,
sclytDMPAPER_9X11 = 44 ,
sclytDMPAPER_10X11 = 45 ,
sclytDMPAPER_15X11 = 46 ,
sclytDMPAPER_ENV_INVITE = 47 ,
sclytDMPAPER_RESERVED_48 = 48 ,
sclytDMPAPER_RESERVED_49 = 49 ,
sclytDMPAPER_LETTER_EXTRA = 50 ,
sclytDMPAPER_LEGAL_EXTRA = 51 ,
sclytDMPAPER_TABLOID_EXTRA = 52 ,
sclytDMPAPER_A4_EXTRA = 53 ,
sclytDMPAPER_LETTER_TRANSVERSE = 54 ,
sclytDMPAPER_A4_TRANSVERSE = 55 ,
sclytDMPAPER_LETTER_EXTRA_TRANSVERSE = 56 ,
sclytDMPAPER_A_PLUS = 57 ,
sclytDMPAPER_B_PLUS = 58 ,
sclytDMPAPER_LETTER_PLUS = 59 ,
sclytDMPAPER_A4_PLUS = 60 ,
sclytDMPAPER_A5_TRANSVERSE = 61 ,
sclytDMPAPER_B5_TRANSVERSE = 62 ,
sclytDMPAPER_A3_EXTRA = 63 ,
sclytDMPAPER_A5_EXTRA = 64 ,
sclytDMPAPER_B5_EXTRA = 65 ,
sclytDMPAPER_A2 = 66 ,
sclytDMPAPER_A3_TRANSVERSE = 67 ,
sclytDMPAPER_A3_EXTRA_TRANSVERSE = 68 ,
sclytDMPAPER_DBL_JAPANESE_POSTCARD = 69,
sclytDMPAPER_A6 = 70 ,
sclytDMPAPER_JENV_KAKU2 = 71 ,
sclytDMPAPER_JENV_KAKU3 = 72 ,
sclytDMPAPER_JENV_CHOU3 = 73 ,
sclytDMPAPER_JENV_CHOU4 = 74 ,
sclytDMPAPER_LETTER_ROTATED = 75 ,
sclytDMPAPER_A3_ROTATED = 76 ,
sclytDMPAPER_A4_ROTATED = 77 ,
sclytDMPAPER_A5_ROTATED = 78 ,
sclytDMPAPER_B4_JIS_ROTATED = 79 ,
sclytDMPAPER_B5_JIS_ROTATED = 80 ,
sclytDMPAPER_JAPANESE_POSTCARD_ROTATED = 81 ,
sclytDMPAPER_DBL_JAPANESE_POSTCARD_ROTATED = 82 ,
sclytDMPAPER_A6_ROTATED = 83 ,
sclytDMPAPER_JENV_KAKU2_ROTATED = 84 ,
sclytDMPAPER_JENV_KAKU3_ROTATED = 85 ,
sclytDMPAPER_JENV_CHOU3_ROTATED = 86 ,
sclytDMPAPER_JENV_CHOU4_ROTATED = 87 ,
sclytDMPAPER_B6_JIS = 88 ,
sclytDMPAPER_B6_JIS_ROTATED = 89 ,
sclytDMPAPER_12X11 = 90 ,
sclytDMPAPER_JENV_YOU4 = 91 ,
sclytDMPAPER_JENV_YOU4_ROTATED = 92 ,
sclytDMPAPER_P16K = 93 ,
sclytDMPAPER_P32K = 94 ,
sclytDMPAPER_P32KBIG = 95 ,
sclytDMPAPER_PENV_1 = 96 ,
sclytDMPAPER_PENV_2 = 97 ,
sclytDMPAPER_PENV_3 = 98 ,
sclytDMPAPER_PENV_4 = 99 ,
sclytDMPAPER_PENV_5 = 100 ,
sclytDMPAPER_PENV_6 = 101 ,
sclytDMPAPER_PENV_7 = 102 ,
sclytDMPAPER_PENV_8 = 103 ,
sclytDMPAPER_PENV_9 = 104 ,
sclytDMPAPER_PENV_10 = 105 ,
sclytDMPAPER_P16K_ROTATED = 106 ,
sclytDMPAPER_P32K_ROTATED = 107 ,
sclytDMPAPER_P32KBIG_ROTATED = 108 ,
sclytDMPAPER_PENV_1_ROTATED = 109 ,
sclytDMPAPER_PENV_2_ROTATED = 110 ,
sclytDMPAPER_PENV_3_ROTATED = 111 ,
sclytDMPAPER_PENV_4_ROTATED = 112 ,
sclytDMPAPER_PENV_5_ROTATED = 113 ,
sclytDMPAPER_PENV_6_ROTATED = 114 ,
sclytDMPAPER_PENV_7_ROTATED = 115 ,
sclytDMPAPER_PENV_8_ROTATED = 116 ,
sclytDMPAPER_PENV_9_ROTATED = 117 ,
sclytDMPAPER_PENV_10_ROTATED = 118 ,
sclytDMPAPER_ISO_A2 = 119, //标准纸面大小
sclytDMPAPER_ISO_A1 = 120, //标准纸面大小
sclytDMPAPER_ISO_A0 = 121, //标准纸面大小
sclytDMPAPER_ISO_EUROPE_B4 = 122, //标准纸面大小(欧洲)
sclytDMPAPER_ISO_EUROPE_B3 = 123, //标准纸面大小(欧洲)
sclytDMPAPER_ISO_EUROPE_B2 = 124, //标准纸面大小(欧洲)
sclytDMPAPER_ISO_EUROPE_B1 = 125, //标准纸面大小(欧洲)
sclytDMPAPER_JIS_B4 = 126, //= 标准纸面大小(日本)
sclytDMPAPER_JIS_B3 = 127, //标准纸面大小(日本)
sclytDMPAPER_JIS_B2 = 128, //标准纸面大小(日本)
sclytDMPAPER_JIS_B1 = 129, //标准纸面大小(日本)
sclytDMPAPER_USER = 256 ,
}seLytPrinterPaperSize;
typedef
enum tagLytRulerLine
{
sclytVertical = 1, //垂直标尺线
scLytHorizontal = 2, //水平标尺线
}seLytRulerLine;
typedef
enum tagLytPageUnits
{
scLytResolution = 1, //为了和以前版本兼容,单位为0.1 毫米
scLytMillimeter = 10, //毫米
scLytCentimeter = 100, //厘米
scLytInch = 254, //英寸
scLytDecimeter = 1000, //分米
scLytFoot = 3084, //英尺
scLytYard = 9114, //码
scLytMeter = 10000, //米
}seLytPageUnits;
typedef
enum tagLytOrientation
{
scLytPortrait = 1, //横向纸面
scLytLandscape = 2, // 纵向纸面
}seLytOrientation;
// Dispatch interfaces referenced by this interface
class CsoLytSelection;
class CsoLytElements;
class CsoLytRulerLines;
class CsoStyle;
class CsoTextStyle;
class CsoLytPage;
/////////////////////////////////////////////////////////////////////////////
// CSuperLayout wrapper class
class CSuperLayout : public CWnd
{
protected:
DECLARE_DYNCREATE(CSuperLayout)
public:
CLSID const& GetClsid()
{
static CLSID const clsid
= { 0x324745aa, 0x1145, 0x4808, { 0xaa, 0x69, 0x41, 0x98, 0x75, 0x82, 0xae, 0x36 } };
return clsid;
}
virtual BOOL Create(LPCTSTR lpszClassName,
LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd, UINT nID,
CCreateContext* pContext = NULL)
{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }
BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect, CWnd* pParentWnd, UINT nID,
CFile* pPersist = NULL, BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL)
{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
pPersist, bStorage, bstrLicKey); }
// Attributes
public:
long GetLytAction();
void SetLytAction(long);
BOOL GetHasRuler();
void SetHasRuler(BOOL);
double GetViewScale();
void SetViewScale(double);
CsoLytSelection GetSelection();
void SetSelection(LPDISPATCH);
BOOL GetGridSnapable();
void SetGridSnapable(BOOL);
BOOL GetPageBreak();
void SetPageBreak(BOOL);
long GetGridSpacing();
void SetGridSpacing(long);
CsoLytElements GetElements();
void SetElements(LPDISPATCH);
BOOL GetContentChanged();
void SetContentChanged(BOOL);
long GetPaperSize();
void SetPaperSize(long);
short GetPaperLength();
void SetPaperLength(short);
short GetPaperWidth();
void SetPaperWidth(short);
short GetPaperMarginLeft();
void SetPaperMarginLeft(short);
short GetPaperMarginTop();
void SetPaperMarginTop(short);
CString GetLayoutName();
void SetLayoutName(LPCTSTR);
BOOL GetModified();
void SetModified(BOOL);
short GetPaperMarginRight();
void SetPaperMarginRight(short);
short GetPaperMarginBottom();
void SetPaperMarginBottom(short);
BOOL GetPropertyPageEnabled();
void SetPropertyPageEnabled(BOOL);
BOOL GetAutoSelected();
void SetAutoSelected(BOOL);
BOOL GetDragRulerLine();
void SetDragRulerLine(BOOL);
BOOL GetHasScrollBar();
void SetHasScrollBar(BOOL);
CsoLytRulerLines GetRulerLines();
void SetRulerLines(LPDISPATCH);
CsoStyle GetDefaultStyle();
void SetDefaultStyle(LPDISPATCH);
CsoTextStyle GetDefaultTextStyle();
void SetDefaultTextStyle(LPDISPATCH);
CsoLytPage GetPage();
void SetPage(LPDISPATCH);
BOOL GetShortcutEnabled();
void SetShortcutEnabled(BOOL);
long GetPaperOrientation();
void SetPaperOrientation(long);
// Operations
public:
void Refresh();
void Connect(LPDISPATCH objSuperWorkspace);
void PrintLayout(const VARIANT& ShowPrintDialog);
BOOL PrintSetup();
BOOL PageSetup();
void LayoutSetup();
BOOL DeviceToLogic(LPDISPATCH Point);
BOOL LogicToDevice(LPDISPATCH Point);
BOOL RegisterForRuntime(LPCTSTR strUser, LPCTSTR strCompany, LPCTSTR strSerialNo);
BOOL SaveLayout();
BOOL SaveLayoutAs(LPCTSTR strNewName, const VARIANT& bOverWrite);
BOOL OpenLayout(LPCTSTR strLayoutName);
void Disconnect();
BOOL LoadTemplate(LPCTSTR strTemplateName);
BOOL SaveAsTemplate(LPCTSTR strTemplateName);
BOOL OutputToFile(LPCTSTR strPictureFileName, long nImageFileType);
BOOL OutputToFile2(LPCTSTR strPictureFileName, long nImageFileType);
BOOL OutputLayout(long hWnd, long hDC, LPDISPATCH MapRect, double dViewScale, BOOL IsPrinting);
void ZoomToPageWidth();
void ZoomToPageHeight();
void ZoomToPage();
void AboutBox();
};
/////////////////////////////////////////////////////////////////////////////
// CsoLytElement wrapper class
class CsoLytElement : public COleDispatchDriver
{
public:
CsoLytElement() {} // Calls COleDispatchDriver default constructor
CsoLytElement(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
CsoLytElement(const CsoLytElement& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
// Attributes
public:
long GetType();
void SetType(long);
LPDISPATCH GetBounds();
void SetBounds(LPDISPATCH);
LPDISPATCH GetStyle();
void SetStyle(LPDISPATCH);
BOOL GetEditable();
void SetEditable(BOOL);
CString GetTag();
void SetTag(LPCTSTR);
// Operations
public:
void SetPosition(LPDISPATCH newpostion);
void Move(long xOffset, long yOffset);
void AlignToGrid();
BOOL HitTest(long x, long y);
void ShowPropertyDlg();
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -