📄 orgdll.h
字号:
/*------------------------------------------------------------------------------*
* File Name: orgdll.h *
* Purpose: Origin and DLL interface constants and other def *
* Date: 1/1/92 *
* Copyright Microcal Software Inc. 1992-1995 *
* Modification log *
* SB v3.77 add WCB_DATA_SET_NO_X and WCB_DATA_CLEAN_TEMP_DATASET *
* STH v3.78 4/4/95 FIND_INI written qcao added by sth *
* CPY v3.781 add WCB_DATA_GET_RAW_VALUE *
* CPY v3.781 copied over Dr. Cao's changes in /// QZCao v3.78, March,20,95 *
* CPY v3.781 copied over Dr. Cao's changes in /// QZCao v3.78, March 19, 95 *
* CPY v3.781 removed STH v3.78 4/4/95 FIND_INI, as it has already been added *
* by Dr. Cao in March 20 *
* QZCao v3.782, 4/13/95, Added WCB_STATUS_MSG, it will replace *
* WCB_DATA_MSG_STATUS eventually. *
* CPY v3.782 add WCB_DATA_GET_COL_ID 4/14/95 *
* QZCao v3.782, 4/24/95 WCB_DATA_CHECK_RANGE2, similar to WCB_DATA_CHECK_RANGE*
* to be merged in the future. *
* QZCao, v3.782, 4/24/95, added WCB_DATA_CREATE_DATA to create all types of *
* datasets *
* QZCao, V3.7841, 5/12/95, WCB_GET_DOUBLE_VALUE, get double value *
* QZCao, v3.8, 7/18/95, WCB_CAL_EXPRESSION, cal expression *
* QZCao, v3.8, 7/20/95, add label to plot and type to script, WCB_ADD_LABEL, *
* WCB_TYPE_SCRIPT *
* QZCao, v3.8, WCB_DATA_GET_XY_RANGE, get dataset both x & y range *
* QZCao, v3.8, 7/21/95, del a variable, WCB_DEL_VARIABLE: *
* CPY v3.8 INTERIM_MODATA 6/25/95, add SET_XY_VALUE as needed in MoData *
* CPY v3.8 WCB_DATA_CHECK_INC 8/3/95, check dataset instead of X dataset *
* QZCao, v3.8, 8/14/95, get init path, WCB_GET_INI_PATH *
* QZCao, v3.8, 8/21/95, get window name and ptr WCB_GET_WIN_NAME & *
* WCB_GET_WIN_ID *
* QZCao, v3.8, 8/23/95, load a dll in origin standard way WCB_LOAD_DLL: *
* ML v3.821 8/30/95 ONE_DATASET_ONLY *
* jliu v3.83 9/7/95, MATRIX_SET *
* QZCao, v3.83, 9/19/95, set modaless:WCB_SET_MODALESS *
* ML v3.84 9/25/95 KILL_DATASET_TOGETHER_WITH_ITS_DEPENDENT *
* CPY v3.84 CPP_UPDATE, make this file includable in cpp files *
* ML v3.840 10/13/95 WCB_GET_DLL_PATH *
* QZCao, v3.85, 10/31/95, WCB_DLL_BALOON *
* ML v3.850 11/1/95 REMOVE_COMMENTS *
* QZCao, 11/6/95, v3.85, GET_X_COL_VAL_IN_PLOT *
* ML v3.97 12/11/95 WCB_DATA_IS_TEXT_DATASET *
* ML v3.970 12/11/95 TEXT_DATASET_VALUE *
* DSB v3.980 12/15/95 TITLE_DEFS *
* ML v3.980 1/4/96 MOMASK_IMPLEMENTATION *
* CPY v3.98 VECTOR_ASSIGNMENT *
* CPY v3.98 1/15/96 EGO_MESSAGE *
* ML v3.980 1/15/96 WCB_DATA_GET_COL_FROM_COLNAME *
* CPY v3.98 1/16/95 EGO_MSG_CONSISTANT *
* ML v3.980 1/17/96 WCB_WKS_GET_NUM_COLS *
* ML 3.981 1/23/96 MOVED_FROM_MARK_H_TO_ORGDLL_H *
* ML v3.981 1/23/96 WCB_DATA_GET_NUM_VALUE_AS_TEXT *
* ML v4.00 1/25/96 TO_PROVIDE_COMMUNICATION_WITH_LABMASK *
* CPY v4.01 2/13/96 MERGE_CONTOUR_3D_COLOR *
* JL v4.03 3/5/96 DEFINE_O_CALLBACK *
* CPY v4.05 3/8/96 WCB_WKS_HANDLING *
* ML v4.08 4/7/96 STORE_GAPSIZE_IN_MEMORY_OBJECT *
* sth v4.08 4/8/96 DOUBLE_ANOVA_WKS *
* ML v4.08 4/11/96 NAME_OF_SUBJECT_COLUMN_PLUS_ADDITIONAL_STILL_UNUSED_MEMBERS*
* ML v4.08 4/12/96 STORING_NAMES_OF_SUBJECT_AND_RESPONSE_COLUMNS *
* ML v4.08 4/17/96 STORE_THE_NAME_OF_THE_SECOND_FACTOR_COLUMN *
* EJP v4.08 04-19-96 WCB_GET_CTRL_HWND *
* ML 4/20/96 ONE_WAY_MEMORY_OBJECT_FOR_ONEWAY_REPEATED_MEASUREMENT_PURPOSES *
* ML v4.09 4/26/96 MOVED_TO_PSDLL_H *
* ML 5/1/96 GET_COLUMN_LABEL *
* ML v4.090 5/3/96 VARIOUS_WORKSHEET_MANIPULATIONS *
* ML v4.090 5/17/96 CREATE_NEW_EMPTY_WORKSHEET *
* ML v4.090 5/17/96 DESTROY_WORKSHEET *
* ML v4.090 5/17/96 RANK_ONE_DATASET *
* ML v4.090 5/19/96 VARIOUS_COLUMN_SETTINGS *
* ML v4.090 5/19/96 CREATE_DATA_AND_PLOT *
* sth v4.09 5/21/96 REMOVING_DOUBLE_EGO_CMD_DEFINITION *
* ML v4.090 5/22/96 MORE_WORKSHEET_STUFF *
* ML v4.090 5/23/96 CREATE_NON_EMPTY_WORKSHEET_ON_OPTION *
* ML v4.090 5/24/96 SET_COLUMN_NAME *
* YN v4.090 5/28/96 SET_WKS_LABEL *
* EJP v4.09 05-29-96 WNDBASED_UIM_OBJ_EVENTS, define WCB_EVENT_WNDBASED *
* ML 6/3/96 SET_COLUMN_TYPE_AS *
* CPY v4.10 6/10/96 WKS_DLL_MODIFICATION_SUPPORT *
* YN v4.10 6/14/96 ADD_GetColumnWidth_FUNCTIONS *
* ML v4.10 6/18/96 GET_COLUMN_TYPE *
* ML v4.11 7/1/96 MOVED_FROM_COMMON_H_TO_ORGDLL_H_SO_THAT_STSDLL_CAN_ACCESS_IT*
* ML v4.11 7/1/96 SHOW_WORKSHEET_NAME_LABEL_OR_BOTH *
* ML v4.11 7/8/96 CHANGE_OFFSET (only comment changes) *
* CPY v4.133 8/29/96 WCB_FRAME_ACCESS *
* ML v4.133 8/30/96 FRAME_AND_MEMORY_OBJECT_ACCESS *
* ML v4.133 9/5/96 CREATE_NEW_GRAPH *
* ML v4.133 9/5/96 CREATE_ONE_TEMPORARY_SERIES *
* ML v4.133 9/6/96 PLOT_TYPES_AND_STRUCTURE *
* CPY v4.133 9/9/96 CREATE_TEXT_LABEL *
* ML v4.133 9/24/96 EXE_CALLING_DLL_FOR_GRAPH *
* ML v4.133 9/27/96 IDS_OF_BASIC_POWERSTAT_METHODS *
* ML v4.133 9/27/96 WCB_POWERSTAT_GET_TEMPLATE_PATHS *
* YN 11/18/96 ADD_CONDITIONAL_COMPILATION *
* ANU v4.14 12/23/96 SETCOLUMNTITLE, new public function in Mowks class *
* CPY v4.97 3/11/97 TEST_CELL_NUMERIC_OR_NOT *
* ANU v4.97 03/19/97 MOVE_DISK_OBJ_TO_UIM *
* ANU v4.979 4/25/97 CREATE_OBJ *
* JLIU nad DSC v4.982 5/7/97 MOVE_FROM_ORGDLL_TO_MODLL for the ati dll *
* sth v4.982 b2083 5/7/97 RIGHT_MOUSE_DOWN_CODE_BLOCK *
* ANU v4.983 5/9/97 CREATE_OBJ_STRUCT_MEMORY *
* YL CPY v4.983 5/9/97 ADD_SET_LABEL_FROM_ID *
* YN v4.986 5/16/97 CHECK_USING_SYSTEM_VARIABLES_IN_NLSF *
* HYYU v4.997 t2341 DISABLE_OR_ENABLE_LABEL_WORKSHEET_EDIT *
* CPY v4.9994 b2800 7/23/97 LAYER_NUMBER_ACCESS_FROM_WCB *
* HYYU v4.9994 t1462 CHANGE_NUMERIC_FORMAT_FROM_WCB *
* CPY v4.9994 b2837 7/24/97 SIMULATE_USE_SEPARATE_WKS *
* CPY v5.002 7/30/97 b2869 X_RANGE_FOR_X_DATASET *
* CPY v5.004 8/4/97 t2897 FDLOG_SETDEFAULT_MUST_ALWAYS_SET_PATH *
* CPY v5.005 8/5/97 FITTER_HELP_TO_GENERAL_CONTENTS *
* CPY v5.028 11/24/97 b3252 STAT_NAME_COUNT_INDEP_DATASET *
* CPY v5.036 1/22/98 t3479 MODATA_SET_RANGE_CHANGE *
* CPY v5.039 b3558 REALTIME_DRAW_BUFFERRING *
* ML 3/23/98 OK_NEW_COLORMAP_FOR_CONTOUR *
* ML 7/20/98 SCRIPT_RESOURCE_DLL_DIALOGS *
* RB 9/15/98 v6.0129 t4194 FFT_EXPONENT_SIGN_CHOICE *
* GCJ 11/6/98 t4423 v6.0136 WRONG_STEREO_WAVEFILE_IMPORT *
* CPY v6.0142 t4628 12/7/98 READ_ONLY_LAYER *
* DVT 3/1/99 v6.0169 t5373 AVAILABLE_SERIES_FROM_CUR_FOLDER *
* GCJ 3/4/99 t5510 v6.0169 ENUMERATE_WORKSHEET_PROPERTY *
* ML 4/19/99 t4345 ADDING_SUPPORT_FOR_SCRIPT_BASED_RESOURCE_DLLS *
* CPY v6.0187 4/22/99 OPP_SCOPE_MODE *
*------------------------------------------------------------------------------*/
#ifndef _ORGDLL_H
#define _ORGDLL_H
#ifdef __cplusplus
extern "C" {
#endif
#ifndef NAME_SIZE
#define MAXLINE 80
#define NAME_SIZE 25
#endif //NAME_SIZE
///ANU v4.983 5/9/97 CREATE_OBJ_STRUCT_MEMORY
#define SNAME_SIZE NAME_SIZE
#ifndef WKS_NAME_SIZE
#define WKS_NAME_SIZE 12
#endif // WKS_NAME_SIZE
///
#ifndef USHORT
#define ULONG DWORD
#define USHORT WORD
#endif
/// CPY v3.74
#ifndef X_AXIS
#define X_AXIS 0x0002
#define Y_AXIS 0x0004
#endif
#ifndef NANUM /* the missing value */
#define NANUM (-1.23456789E-300)
#endif
/// JL v4.03 3/5/96 DEFINE_O_CALLBACK consistence with ScriptCallBack in ToolBar.c
typedef DWORD (CALLBACK* O_CALLBACK)(HWND,UINT,WPARAM,LPARAM);
///
/*
* Messages sent to Origin to get access
* to Origin's data
*
*/
#define WM_DLL_BEGIN (WM_USER+100)
#define WM_DLL_OPEN_DATA (WM_DLL_BEGIN+ 1)
/* return FAR pointer to beginning of data
* double only
*/
#define WM_DLL_GET_RANGE (WM_DLL_BEGIN + 2)
/* return in LoWord the beginning index and
* in HiWord the end index.
* These are C type index so they start from
* zero and end at the next element.
* LabTalk index starts at 1 and end at the
* end element.
*/
#define WM_DLL_GET_RANGE_EXT (WM_DLL_BEGIN + 3)
#define WM_DLL_GET_SIZE (WM_DLL_BEGIN + 4)
/* return data element size in loword
* 8 = double, 4 = float
* hiword is non zero if not real numbers
*/
#define WM_DLL_CLOSE_DATA (WM_DLL_BEGIN + 11)
/* close the data set specified by the string
* pointed to by lParam.
* Update the data if wParam == 1.
*/
#define WM_DLL_OPEN_MATRIX (WM_DLL_BEGIN + 13)
/* similar to OPEN_DATA but also
* setup a matrix for DLL control
* return FAR pointer to beginning of matrix
* data array.
* lParam = (LPSTR)matrix_name
*/
#define WM_DLL_CLOSE_MATRIX (WM_DLL_BEGIN + 18)
#define WM_DLL_OPEN_WKSHEET (WM_DLL_BEGIN + 20)
/* worksheet name in lParam
* wParam = 0
*/
///HYYU v4.997 t2341 DISABLE_OR_ENABLE_LABEL_WORKSHEET_EDIT
#define WM_DLL_UPDATEEDIT_WKSHEET (WM_DLL_BEGIN + 21)
/* worksheet name in lParam
* wParam is the value of worksheet editable
*/
///end DISABLE_OR_ENABLE_LABEL_WORKSHEET_EDIT
#define WM_DLL_WKS_COL_NAME (WM_DLL_BEGIN + 22)
/* get name of column specified by wParam
* lParam must point to a buffer to receive the
* the name, which has a maximum size of NAME_SIZE
*/
#define WM_DLL_MATRIX_GET_DIM (WM_DLL_BEGIN + 24)
/* get Ncols x Nrows of the opened matrix
* reutrn MAKELONG(nCols,nRows)
*/
#define WM_DLL_MATRIX_GET_XY (WM_DLL_BEGIN + 25)
/* get matrix X and Y boundaries
* wParam is ingored and must be set to zero
* lParam is LPDOUBLE to x1,y1,x2,y2
*/
#define WM_DLL_WKS_OPEN_COL (WM_DLL_BEGIN + 26)
/* Similar to WM_DLL_OPEN_DATA
* If lParam == NULL opens the column specified
* by wParam (1,2,3..)
* If lParam != NULL, opens the column
* specified by the string in lParam, which
* can be either the name of the column or
* the numeric string for the column number.
*/
#define WM_DLL_WKS_CLOSE_COL (WM_DLL_BEGIN + 27)
/* Similar to WM_DLL_CLOSE_DATA
* The interpretation of lParam is the same
* as WM_DLL_WKS_OPEN_COL, but only the
* LOBYTE of wParam is used for column number
* if lParam == NULL.
* the HIBYTE is used to indicate updating of the
* column.
*/
#define WM_DLL_WKS_SETRANGE (WM_DLL_BEGIN + 30)
/* MAKELONG(i,i2) as lParam */
#define WM_DLL_WKS_PUT_DATA (WM_DLL_BEGIN + 32)
/* use the DataWorksheet format to set worksheet data
* lParam == LP to DataWorksheet structure
* wParam is ignored and must set to zero
*/
#define WM_DLL_PASTE_ASCII (WM_DLL_BEGIN + 35)
#define WM_DLL_WKS_SET_ROW (WM_DLL_BEGIN + 40)
/* set current row, this is for accessing the worksheet
* row by row.
* row number is in wParam, lParam must be NULL
*/
#define WM_DLL_WKS_GET_CELL (WM_DLL_BEGIN + 42)
/* get cell content in the current row and the
* specified column (wParam)
* lParam must point to a buffer to receive the
* the content, which has a maximum size of MAXLINE
*/
#define WM_DLL_WKS_CREATE_OBJ (WM_DLL_BEGIN + 44)
/* create a memory object in the open worksheet
* with a name and specified size.
* lParam = LPSTR to the name of the obj, must be less than 8 chars
* wParam = intended size of the object.
*
* returns 1 if error, 0 if obj is created.
* obj must be open before use and close after use
*/
/// CPY 4/12/94 v3.31
#define WM_DLL_CREATE_OBJ WM_DLL_WKS_CREATE_OBJ
#define WM_DLL_OPEN_OBJ WM_DLL_WKS_OPEN_OBJ
#define WM_DLL_CLOSE_OBJ WM_DLL_WKS_CLOSE_OBJ
#define WM_DLL_WKS_OPEN_OBJ (WM_DLL_BEGIN + 45)
/* open the named obj,
* lParam = LPSTR to the obj's name.
* wParam = required size of the obj, if the obj
* has a smaller size, it is increased to the specified size
*
* returns LPSTR to the obj's data buffer
* or return NULL if the obj does not exist
*/
#define WM_DLL_WKS_CLOSE_OBJ (WM_DLL_BEGIN + 46)
/* close the currently open obj, lParam and wParam
* are both ignored
*/
#define WM_DLL_WKS_SET_DIM_EXT (WM_DLL_BEGIN + 47)
/* lParam is LPLONG to nCols and nRows */
#define WM_DLL_WKS_GET_DIM (WM_DLL_BEGIN + 48)
/* get Ncols x Nrows of the opened worksheet
* nRows is the size of a column, which is
* greater or equal
* reutrn MAKELONG(nCols,nRows)
*/
#define WM_DLL_WKS_GET_DIM_EXT (WM_DLL_BEGIN + 49)
/* same but use LPLONG to return the dim
* return 0 if OK 1 if err
*/
#define WM_DLL_CLOSE_WKSHEET (WM_DLL_BEGIN + 50)
/* close the currently open worksheet
* All open columns are closed by this message.
* Updating is indicated by the wParam, while
* the lParam is ignored.
*/
#define WM_DLL_OPEN_LAYER (WM_DLL_BEGIN + 60)
/* PlotWindow name in lParam, NULL if current plot
* layer numer in wParam, 0 if current layer
*/
#define WM_DLL_CLOSE_LAYER (WM_DLL_BEGIN + 90)
/* Updating is indicated by the wParam, while
* the lParam is ignored.
*/
///jliu 9/7/95 MATRIX_SET
#define WM_DLL_MATRIX_SET_DIM (WM_DLL_BEGIN + 95)
/* set Ncols x Nrows of the opened matrix
* reutrn MAKELONG(nCols,nRows)
*/
#define WM_DLL_MATRIX_SET_XY (WM_DLL_BEGIN + 96)
/* set matrix X and Y boundaries
* wParam is ingored and must be set to zero
* lParam is LPDOUBLE to x1,y1,x2,y2
*/
///MATRIX_SET
#define WM_DLL_SET_VARIABLE (WM_DLL_BEGIN + 190)
#define WM_DLL_GET_VARIABLE (WM_DLL_BEGIN + 191)
/* set or get one variable in Origin
* wParam ignored.
* lParam is LP to the following structurn */
typedef struct VARSETGET {
double value;
char name[NAME_SIZE];
}VARSETGET, FAR *LPVARSETGET;
/* return 1 if WM_GET_VARIABLE does not
* exist, WM_SET_VARIABLE always return zero
* variable name must be all upper case
*/
#define WM_DLL_SET_STRING (WM_DLL_BEGIN + 194)
#define WM_DLL_GET_STRING (WM_DLL_BEGIN + 196)
/* set or get one string variable in Origin
* wParam = 0,1,2,.. for %A,%B, %C.
* lParam is LPSTR to to set or get the string variable
* return 1 if OK, return 0 if error
*/
#define WM_DLL_GETINITFILENAME (WM_DLL_BEGIN + 200)
#define WM_DLL_GET_MEMORY (WM_DLL_BEGIN + 210)
/// ML 3/23/98 OK_NEW_COLORMAP_FOR_CONTOUR
#define WM_DLL_GET_COLORMAP_CLBCK (WM_DLL_BEGIN + 230)
/// end OK_NEW_COLORMAP_FOR_CONTOUR
#define WM_DLL_NOTIFY (WM_DLL_BEGIN+ 295)
/* message to the nofify function
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -