📄 charttypelib.odl
字号:
[ //**************** Most of this code was plucked from
//****************** HardCore VB typeLib with some additions of my own
//To Make Use:
//midl /nologo /D "_DEBUG" /o "NUL" /win32 /mktyplib203 /tlb PATH\charttypelib.TLB PATH\charttypelib.odl
// The Universal Unique identifier (UUID), needs to be generated by
// using uuidgen.exe program. Then, you paste the value into the type
// library. ///////////////**** GUIDGEN.exe ****
uuid(C5C2DB70-A4BE-11d6-96DF-00D009D8E460),
// The Help String comes up in the object browser as the second
// piece of the library description in the "Libraries/Projects" combo
// box.
helpstring("ChartTypeLib"),
// The Locale Identifier (LCID), identifies the language the type
// library applies to.
lcid(0x9),
// This is the version number of the type library.
version(1.0)
]
// This is the name of the type library. It comes up in the object
// browser as the first piece of the library description in the
// "Libraries/Projects" combo box.
library ChartTypeLib
{
importlib("stdole32.tlb");
// Define numeric constants.
// Note: String constants must be placed in a "module"... (further down the page)
typedef enum tagConst
{
WM_USER = 0x0400,
hNull = 0L,
WM_LBUTTONDOWN=0x201,
WM_LBUTTONUP=0x202,
MK_LBUTTON = 0x0001,
MK_RBUTTON = 0x0002,
MK_SHIFT = 0x0004,
MK_CONTROL = 0x0008,
MK_MBUTTON = 0x0010,
VK_CONTROL = 0x11,
VK_END = 0x23,
VK_HOME = 0x24,
VK_LEFT = 0x25,
VK_RIGHT = 0x27,
[ helpstring("Virtual key: Page Up") ]
VK_PRIOR = 0x21,
[ helpstring("Virtual key: Page Down") ]
VK_NEXT = 0x22,
TRANSPARENT = 1, //need a comma behind all except the last entry
DT_CENTER = 1,
DT_RIGHT = 0x0002,
DT_NOCLIP = 0x100, //need to use the c notation for hex numbers... &H replaced by 0x
DT_VCENTER = 4,
DT_WORDBREAK = 0x10,
DEFAULT_QUALITY = 0, //' Appearance of the font is set to default
DRAFT_QUALITY = 1, //' Appearance is less important that PROOF_QUALITY.
PROOF_QUALITY = 2, //' Best character quality
NONANTIALIASED_QUALITY = 3, //' Don't smooth font edges even if system is set to smooth font edges
ANTIALIASED_QUALITY = 4, //' Ensure font edges are smoothed if system is set to smooth font edges
OUT_TT_PRECIS = 4,
CLIP_CHARACTER_PRECIS = 0x01,
CLIP_STROKE_PRECIS = 0x02,
CLIP_MASK = 0x0f,
CLIP_LH_ANGLES = 0x04, // (1<<4)
CLIP_TT_ALWAYS = 0x40,
GWL_HINSTANCE = -6,
WH_CBT = 5,
HCBT_ACTIVATE = 5,
SWP_NOZORDER = 0x4,
SWP_NOSIZE = 0x1,
SWP_NOOWNERZORDER = 0x200, //' Don't do owner Z ordering
SWP_NOREPOSITION = SWP_NOOWNERZORDER,
SWP_NOACTIVATE = 0x10,
GM_ADVANCED = 2,
DST_ICON = 3,
DSS_DISABLED = 32,
BDR_INNER = 0xC,
BDR_OUTER = 0x3,
BDR_RAISED = 0x5,
BDR_RAISEDINNER = 0x4,
BDR_RAISEDOUTER = 0x1,
BF_TOP = 0x2,
BF_RIGHT = 0x4,
BF_LEFT = 0x1,
BF_BOTTOM = 0x8,
BF_RECT = 15, //(BF_LEFT Or BF_TOP Or BF_RIGHT Or BF_BOTTOM),
BF_TOPLEFT = 0x3,
BF_TOPRIGHT = 0x6,
BF_BOTTOMLEFT = 0x9,
BF_BOTTOMRIGHT = 0xC,
BF_MIDDLE = 0x800, //' Fill in the middle.
EDGE_BUMP = 0x9,
EDGE_ETCHED = 0x6,
EDGE_RAISED = 0x5,
EDGE_SUNKEN = 0xA,
// Ternary raster operations
// Ternary raster operations
[ helpstring("BitBlt: Copy source bits over destination bits") ]
SRCCOPY = 0x00CC0020, // dest = source
[ helpstring("BitBlt: OR source bits onto destination") ]
SRCPAINT = 0x00EE0086, // dest = source OR dest
[ helpstring("BitBlt: AND source bits onto destination") ]
SRCAND = 0x008800C6, // dest = source AND dest
[ helpstring("BitBlt: XOR source bits onto destination") ]
SRCINVERT = 0x00660046, // dest = source XOR dest
[ helpstring("BitBlt: Invert destination bits, AND the result with source bits") ]
SRCERASE = 0x00440328, // dest = source AND (NOT dest )
[ helpstring("BitBlt: Invert source bits, copy to destination") ]
NOTSRCCOPY = 0x00330008, // dest = (NOT source)
[ helpstring("BitBlt: OR source bits onto destination bits, invert result") ]
NOTSRCERASE = 0x001100A6, // dest = (NOT src) AND (NOT dest)
[ helpstring("BitBlt: AND source bits onto pattern bits, copy to destination") ]
MERGECOPY = 0x00C000CA, // dest = (source AND pattern)
[ helpstring("BitBlt: Invert source bits, AND result onto destination") ]
MERGEPAINT = 0x00BB0226, // dest = (NOT source) OR dest
[ helpstring("BitBlt: Copy pattern bits over destination bits") ]
PATCOPY = 0x00F00021, // dest = pattern
[ helpstring("BitBlt: Invert source bits, OR result with pattern, OR result with destination") ]
PATPAINT = 0x00FB0A09, // dest = DPSnoo
[ helpstring("BitBlt: XOR pattern bits onto destination") ]
PATINVERT = 0x005A0049, // dest = pattern XOR dest
[ helpstring("BitBlt: Invert destination bits") ]
DSTINVERT = 0x00550009, // dest = (NOT dest)
[ helpstring("BitBlt: Turn destination bits black (0)") ]
BLACKNESS = 0x00000042, // dest = BLACK
[ helpstring("BitBlt: Turn destination bits white (1)") ]
WHITENESS = 0x00FF0062, // dest = WHITE
SM_CYCAPTION = 4,
SM_CYMENU = 15,
BI_RGB = 0L, //force to long using "L"
DIB_RGB_COLORS = 0, //' color table in RGBs
VER_PLATFORM_WIN32_NT = 2,
VER_PLATFORM_WIN32_WINDOWS = 1,
VER_PLATFORM_WIN32s = 0,
//from hardcore vb
cMaxPath = 260,
cMaxFile = 260,
pNull = 0,
ERROR_BAD_PATHNAME = 161,
//FORMAT_MESSAGE_FROM_SYSTEM = 4096,
//FORMAT_MESSAGE_IGNORE_INSERTS = 512,
UnicodeTypeLib = -1,
GMEM_MOVEABLE = 0x2,
GMEM_ZEROINIT = 0x40,
// message from browser
BFFM_INITIALIZED = 1,
BFFM_SELCHANGED = 2,
BFFM_VALIDATEFAILED = 3, // lParam:szPath ret:1(cont),0(EndDialog)
// messages to browser
BFFM_ENABLEOK = WM_USER + 101,
BFFM_SETSTATUSTEXT = WM_USER + 100,
BFFM_SETSELECTION = WM_USER + 102,
//end hardcore
IPRTRMGR_PID = 10000,
ANY_SIZE = 1,
FILE_ATTRIBUTE_NORMAL = 0x00000080,
FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000,
CREATE_ALWAYS = 2,
GENERIC_WRITE = 0x40000000,
hostent_size = 16,
INADDR_NONE = 0xFFFFFFFF,
INADDR_ANY = 0x0,
FD_CLOSE = 0x20,
FD_READ = 0x1,
SOCK_STREAM = 1,
AF_INET = 2,
MAX_WSADescription = 256,
MAX_WSASYSStatus = 128,
ERROR_SUCCESS = 0,
INTERNET_CONNECTION_LAN = 0x2L,
INTERNET_CONNECTION_MODEM = 0x1L,
SOCKET_ERROR = -1
}Constants;
typedef float FLOAT;
typedef double DOUBLE;
typedef void * PVOID, * LPVOID;
typedef enum PenStyle {
PS_Solid = 0,
PS_Dash = 1, //' -------
PS_Dot = 2, //' .......
PS_DashDot = 3, //' _._._._
PS_DashDotDot = 4, //' _.._.._
PS_Null = 5
} PenStyle;
typedef enum Linetype {
LT_Solid = 0,
LT_Dash = 1,
LT_Dot = 2,
LT_Dashdot = 3,
LT_Dashdotdot = 4,
LT_Insideframe = 6,
LT_None = 5
} Linetype;
typedef enum TicType {
ttLine = 1,
ttHLOC = 2,
ttCandle = 3
} TicType;
//*******Structs
typedef struct POINTL {
LONG x;
LONG y;
} POINTL;
typedef struct POINTSINGLE {
float x;
float y;
} POINTSINGLE;
typedef struct RECT {
LONG Left;
LONG Top;
LONG Right;
LONG Bottom;
} RECT;
typedef struct SIZEL {
LONG cx;
LONG cy;
} SIZEL;
typedef struct DRAWTEXTPARAMS {
LONG cbSize;
LONG iTabLength;
LONG iLeftMargin;
LONG iRightMargin;
LONG uiLengthDrawn;
} DRAWTEXTPARAMS;
typedef struct SYSTEM_INFO {
LONG dwOemID;
LONG dwPageSize;
LONG lpMinimumApplicationAddress;
LONG lpMaximumApplicationAddress;
LONG dwActiveProcessorMask;
LONG dwNumberOfProcessors;
LONG dwProcessorType;
LONG dwAllocationGranularity;
short wProcessorLevel;
short wProcessorRevision;
} SYSTEM_INFO;
typedef struct MEMORYSTATUS {
LONG dwLength;
LONG dwMemoryLoad;
LONG dwTotalPhys;
LONG dwAvailPhys;
LONG dwTotalPageFile;
LONG dwAvailPageFile;
LONG dwTotalVirtual;
LONG dwAvailVirtual;
} MEMORYSTATUS;
typedef struct LARGE_INTEGER {
LONG lowpart;
LONG highpart;
} LARGE_INTEGER;
typedef struct RGBQUAD {
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
} RGBQUAD;
typedef struct BITMAPINFOHEADER {
LONG biSize;
LONG biWidth;
LONG biHeight;
short biPlanes;
short biBitCount;
LONG biCompression;
LONG biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
LONG biClrUsed;
LONG biClrImportant;
} BITMAPINFOHEADER;
typedef struct BITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO;
typedef struct BITMAPFILEHEADER {
short bfType;
LONG bfSize;
short bfReserved1;
short bfReserved2;
LONG bfOffBits;
} BITMAPFILEHEADER;
/*
typedef struct LOGFONT {
LONG lfHeight;
LONG lfWidth;
LONG lfEscapement;
LONG lfOrientation;
LONG lfWeight;
BYTE lfItalic;
BYTE lfUnderline;
BYTE lfStrikeOut;
BYTE lfCharSet;
BYTE lfOutPrecision;
BYTE lfClipPrecision;
BYTE lfQuality;
BYTE lfPitchAndFamily;
BYTE lfFaceName[32];
} LOGFONT;
*/
//*********hardcode types
typedef struct OPENFILENAME {
LONG lStructSize;
LONG hwndOwner;
LONG hInstance;
BSTR lpstrFilter;
BSTR lpstrCustomFilter;
LONG nMaxCustFilter;
LONG nFilterIndex;
BSTR lpstrFile;
LONG nMaxFile;
BSTR lpstrFileTitle;
LONG nMaxFileTitle;
BSTR lpstrInitialDir;
BSTR lpstrTitle;
LONG Flags;
short nFileOffset;
short nFileExtension;
BSTR lpstrDefExt;
LONG lCustData;
LONG lpfnHook;
BSTR lpTemplateName;
} OPENFILENAME;
typedef enum EOpenFile {
OFN_READONLY = 0x1,
OFN_OVERWRITEPROMPT = 0x2,
OFN_HIDEREADONLY = 0x4,
OFN_NOCHANGEDIR = 0x8,
OFN_SHOWHELP = 0x10,
OFN_ENABLEHOOK = 0x20,
OFN_ENABLETEMPLATE = 0x40,
OFN_ENABLETEMPLATEHANDLE = 0x80,
OFN_NOVALIDATE = 0x100,
OFN_ALLOWMULTISELECT = 0x200,
OFN_EXTENSIONDIFFERENT = 0x400,
OFN_PATHMUSTEXIST = 0x800,
OFN_FILEMUSTEXIST = 0x1000,
OFN_CREATEPROMPT = 0x2000,
OFN_SHAREAWARE = 0x4000,
OFN_NOREADONLYRETURN = 0x8000,
OFN_NOTESTFILECREATE = 0x10000,
OFN_NONETWORKBUTTON = 0x20000,
OFN_NOLONGNAMES = 0x40000,
OFN_EXPLORER = 0x80000,
OFN_NODEREFERENCELINKS = 0x100000,
OFN_LONGNAMES = 0x200000
} EOpenFile;
typedef struct TCHOOSECOLOR {
LONG lStructSize;
LONG hwndOwner;
LONG hInstance;
LONG rgbResult;
LONG lpCustColors;
LONG Flags;
LONG lCustData;
LONG lpfnHook;
BSTR lpTemplateName;
} TCHOOSECOLOR;
typedef enum EChooseColor {
CC_RGBINIT = 0x1,
CC_FULLOPEN = 0x2,
CC_PREVENTFULLOPEN = 0x4,
CC_COLORSHOWHELP = 0x8,
CC_ENABLEHOOK = 0x10,
CC_ENABLETEMPLATE = 0x20,
CC_ENABLETEMPLATEHANDLE = 0x40,
CC_SOLIDCOLOR = 0x80,
CC_ANYCOLOR = 0x100
} EChooseColor;
typedef struct TCHOOSEFONT {
LONG lStructSize;
LONG hwndOwner;
LONG hdc;
LONG lpLogFont;
LONG iPointSize;
LONG Flags;
LONG rgbColors;
LONG lCustData;
LONG lpfnHook;
BSTR lpTemplateName;
LONG hInstance;
BSTR lpszStyle;
short nFontType;
short iAlign;
LONG nSizeMin;
LONG nSizeMax;
} TCHOOSEFONT;
typedef enum EChooseFont {
CF_SCREENFONTS = 0x1,
CF_PRINTERFONTS = 0x2,
CF_BOTH = 0x3,
CF_FONTSHOWHELP = 0x4,
CF_ENABLEHOOK = 0x8,
CF_ENABLETEMPLATE = 0x10,
CF_ENABLETEMPLATEHANDLE = 0x20,
CF_INITTOLOGFONTSTRUCT = 0x40,
CF_USESTYLE = 0x80,
CF_EFFECTS = 0x100,
CF_APPLY = 0x200,
CF_ANSIONLY = 0x400,
CF_NOVECTORFONTS = 0x800,
CF_NOOEMFONTS = CF_NOVECTORFONTS,
CF_NOSIMULATIONS = 0x1000,
CF_LIMITSIZE = 0x2000,
CF_FIXEDPITCHONLY = 0x4000,
CF_WYSIWYG = 0x8000,
CF_FORCEFONTEXIST = 0x10000,
CF_SCALABLEONLY = 0x20000,
CF_TTONLY = 0x40000,
CF_NOFACESEL = 0x80000,
CF_NOSTYLESEL = 0x100000,
CF_NOSIZESEL = 0x200000,
CF_SELECTSCRIPT = 0x400000,
CF_NOSCRIPTSEL = 0x800000,
CF_NOVERTFONTS = 0x1000000
} EChooseFont;
typedef enum EFontType {
SIMULATED_FONTTYPE = 0x8000,
PRINTER_FONTTYPE = 0x4000,
SCREEN_FONTTYPE = 0x2000,
BOLD_FONTTYPE = 0x100,
ITALIC_FONTTYPE = 0x200,
REGULAR_FONTTYPE = 0x400
} EFontType;
typedef enum EFORMAT_MESSAGE {
FORMAT_MESSAGE_NONE = 0x00000000,
FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x00000100,
FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200,
FORMAT_MESSAGE_FROM_STRING = 0x00000400,
FORMAT_MESSAGE_FROM_HMODULE = 0x00000800,
FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000,
FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x00002000,
FORMAT_MESSAGE_MAX_WIDTH_MASK = 0x000000FF
} EFORMAT_MESSAGE;
// Browsing for directory.
typedef enum EBROWSEOPTIONS {
[ helpstring("Only return directories--grey out OK button for other selections")]
BIF_RETURNONLYFSDIRS = 0x0001, // Find folder to start document search
[ helpstring("Don't include network folders below the domain level")]
BIF_DONTGOBELOWDOMAIN = 0x0002,
[ helpstring("Include a status area with text coming from messages sent by the callback function")]
BIF_STATUSTEXT = 0x0004,
[ helpstring("Only return file system ancestors--grey out OK button for other selections")]
BIF_RETURNFSANCESTORS = 0x0008,
[ helpstring("Include edit control for name of item")]
BIF_EDITBOX = 0x0010,
[ helpstring("Insist on valid result (or CANCEL)--requires will BIF_EDITBOX and callback procedure")]
BIF_VALIDATE = 0x0020,
[ helpstring("Only return computers--grey out OK button for other selections")]
BIF_BROWSEFORCOMPUTER = 0x1000,
[ helpstring("Only return printers--grey out OK button for other selections")]
BIF_BROWSEFORPRINTER = 0x2000,
[ helpstring("Display files as well as folders")]
BIF_BROWSEINCLUDEFILES = 0x4000
} EBROWSEOPTIONS;
typedef struct SHITEMID // mkid
{
LONG cb; // Size of the ID (including cb itself)
BYTE abID[1]; // The item ID (variable length)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -