📄 orgdll.h
字号:
* DWORD FAR PASCAL Notify(hWnd,wMsg,wParam,lParam)
*
* This function must be exported with the name "NOTIFY"
*/
///HYYU v4.9994 t1462 CHANGE_NUMERIC_FORMAT_FROM_WCB
#define WM_DLL_CHANGENUMFORMAT (WM_DLL_BEGIN+ 296)
///end CHANGE_NUMERIC_FORMAT_FROM_WCB
#define NOTIFY_GET_MSG_ID 0
/* must return the registered WM message id
* wParam and lParam are both zeros
*/
#define NOTIFY_NOTIFY 1
/* wParam and lParam are valid values */
#define WM_DLL_SETUP (WM_DLL_BEGIN+ 298) ///CPY v4.01 2/13/96 MERGE_CONTOUR_3D_COLOR
#define WM_DLL_CLEAN_UP (WM_DLL_BEGIN+ 299)
#define WM_DLL_END (WM_DLL_BEGIN+ 300)
/* internal ids, these ids may be in conflict with
* other WM_ ids, but they are sent only internally
*/
#define DDM_TEST_ID 0
#define DDM_SET_NOTIFY 1 /* in lparam */
/* use this to test whether id is within range */
/* To support LabEngine, there must a function
* with the following ordinal number
*/
#define ID_DLL_SET_CALLBACK 9999
/* function prototype within Origin for extern DLL messages */
ULONG do_DLL_message(HWND, USHORT, USHORT, ULONG);
/***********************************************************
* The struct and msg defined below are implemented for
* Data Acquisition purpose, but is generally available.
* A DLL can use a callback function instead of SendMessage
* to communicate with Origin, and is thus much faster.
* To use this mechanizm, the DLL must be decleared through
* the ORIGIN.EXT file and the DLL is invoked directly through
* the command defined in origin.ext, for example, a LabData.DLL
* can be defined as the command DAS as follows:
*
* das labdata
*
* in a line in Origin.ext file
*
* The DLL function must be defined as
* int FAR PASCAL LabData(HWND,LPSTR,LPCALLBK);
*
* please note that one can continue to use the SendMessage
* mechanism to communicate with Origin
*
***********************************************************/
typedef ULONG (FAR PASCAL *LPCALLBK)(HWND,USHORT,LPSTR,LPSTR);
/* WCB_* messages must all be bigger than WM_DLL_END which is 1424
* and smaller then WM_DLL_BEGIN which is 1124
*/
#define MASK_WCB_TYPE 0xF000
#define MASK_WCB_NO_HWND 0x1000///
#define MASK_WCB_OPTION_HWND 0x2000///
#define MASK_DATASET 0x3000///
#define MASK_DATASET_SERIES 0x0400
#define MASK_FIT 0x4000///
#define MASK_NEED_DRAW 0x5000///
#define MASK_DRAWING_MODE 0x0400 // share DATA_SERIES
// must in between _BEGIN and _END
#define MASK_DRAWING_OPTN_COOR 0x0800
#define MASK_WCB_WKS 0x6000///CPY v4.05 3/8/96 WCB_WKS_HANDLING
#define MASK_PKFIT 0x8000///
///CPY v4.133 8/29/96 WCB_FRAME_ACCESS
#ifdef WCB_FRAME_ACCESS
#define MASK_FRAME 0x9000
#endif ///WCB_FRAME_ACCESS
///
/*********************************************************
* the callback function takes the following command id
* as the wParam argument
*********************************************************/
#define WCB_SCRIPT_MSG MASK_WCB_NO_HWND
#define WCB_SET_VAR (MASK_WCB_NO_HWND+1)
#define WCB_GET_VAR (MASK_WCB_NO_HWND+2)
#define WCB_GET_HWND (MASK_WCB_NO_HWND+3)
#define WCB_EXECUTE (MASK_WCB_NO_HWND+4)
#define WCB_TEST (MASK_WCB_NO_HWND+5)
#define WCB_SET_INDEX (MASK_WCB_NO_HWND+6)
#define WCB_SET_TIME (MASK_WCB_NO_HWND+7)
#define WCB_GET_VALUE (MASK_WCB_NO_HWND+8)
#define WCB_GET_OBJ (MASK_WCB_NO_HWND+9)
#define WCB_SET_DATASET (MASK_WCB_NO_HWND+10)
#define WCB_GET_DATASET (MASK_WCB_NO_HWND+11)
#define WCB_SET_STRING (MASK_WCB_NO_HWND+12)
/// QZC 4/10/94
#define WCB_GET_STRING (MASK_WCB_NO_HWND+18)
#define WCB_TYPE_ASCII (MASK_WCB_NO_HWND+13)
#define WCB_CVT_ASCII (MASK_WCB_NO_HWND+14)
#define WCB_GET_BUFFER (MASK_WCB_NO_HWND+15)
#define WCB_GET_PATH (MASK_WCB_NO_HWND+16)
#define WCB_GET_PROCESS_FN (MASK_WCB_NO_HWND+17)
#define WCB_GET_INIT_TIME (MASK_WCB_NO_HWND+19)
/// QZCao v3.78, March,20,95
#define WCB_NEXT_TERM (MASK_WCB_NO_HWND+20)
#define WCB_ARG_COPY (MASK_WCB_NO_HWND+21)
#define WCB_SET_PLOT_TITLE (MASK_WCB_NO_HWND+22)
#define WCB_OPEN_MC_FILE (MASK_WCB_NO_HWND+23)
#define WCB_SHOW_I (MASK_WCB_NO_HWND+24)
#define WCB_GET_INIT_FILE (MASK_WCB_NO_HWND+25)
#define WCB_ADD_VARIABLE (MASK_WCB_NO_HWND+26)
///
/// QZCao v3.782, 4/13/95
#define WCB_STATUS_MSG (MASK_WCB_NO_HWND+27)
///
/// QZCao, V3.7841, 5/12/95, WCB_GET_DOUBLE_VALUE, get double value
#define WCB_GET_DOUBLE_VALUE (MASK_WCB_NO_HWND+28)
///
/// QZCao, v3.8, cal expression
#define WCB_CAL_EXPRESSION (MASK_WCB_NO_HWND+29)
///
/// QZCao, v3.8, 7/20/95, add label to plot and type to script
#define WCB_ADD_LABEL (MASK_WCB_NO_HWND+30)
#define WCB_TYPE_SCRIPT (MASK_WCB_NO_HWND+31)
///
/// QZCao, v3.8, 7/21/95, del a variable
#define WCB_DEL_VARIABLE (MASK_WCB_NO_HWND+32)
/// QZCao, v3.8, 8/14/95, get init path
#define WCB_GET_INI_PATH (MASK_WCB_NO_HWND+33)
/// QZCao, v3.8, 8/21/95, get window name and ptr
#define WCB_GET_WIN_NAME (MASK_WCB_NO_HWND+34)
#define WCB_GET_WIN_ID (MASK_WCB_NO_HWND+35)
///
/// QZCao, v3.8, 8/23/95, load a dll in origin standard way
#define WCB_LOAD_DLL (MASK_WCB_NO_HWND+36)
///
/// QZCao, v3.83, 9/19/95, set modaless
#define WCB_SET_MODALESS (MASK_WCB_NO_HWND+37)
///
/// ML v3.840 10/13/95 WCB_GET_DLL_PATH
#define WCB_GET_DLL_PATH (MASK_WCB_NO_HWND+38)
/// end 10/13/95 WCB_GET_DLL_PATH
/// QZCao, v3.85, 10/31/95, WCB_DLL_BALOON
#define WCB_DLL_BALOON (MASK_WCB_NO_HWND+39)
///
/// ML v3.850 11/1/95 REMOVE_COMMENTS
#define WCB_STRIP_COMMENTS (MASK_WCB_NO_HWND + 40)
/// end REMOVE_COMMENTS
/// EJP v4.08 04-19-96 WCB_GET_CTRL_HWND
/// callback msg to get a window handle for a window based UIM object.
#define WCB_GET_CTRL_HWND (MASK_WCB_NO_HWND + 41)
/// end WCB_GET_CTRL_HWND
/// EJP v4.09 05-29-96 WNDBASED_UIM_OBJ_EVENTS
/// callback msg to process script associated with WndBased UIM object events.
#ifdef WNDBASED_UIM_OBJ_EVENTS
#define WCB_WNDBASED_EVENT (MASK_WCB_NO_HWND + 42)
#endif // WNDBASED_UIM_OBJ_EVENTS
/// end WNDBASED_UIM_OBJ_EVENTS
/// ML v4.133 9/27/96 WCB_POWERSTAT_GET_TEMPLATE_PATHS
#define WCB_POWERSTAT_GET_TEMPLATE_PATHS (MASK_WCB_NO_HWND + 43)
/// end WCB_POWERSTAT_GET_TEMPLATE_PATHS
///ANU v4.97 03/19/97 MOVE_DISK_OBJ_TO_UIM
///this is needed to use the new O_PAGE_ID instead
///of hwnd to do things
#define WCB_GET_PAGE_ID (MASK_WCB_NO_HWND + 44)
///end MOVE_DISK_OBJ_TO_UIM
//------------- CPY v4.9994 b2800 7/23/97 LAYER_NUMBER_ACCESS_FROM_WCB
#define WCB_GET_ACTIVE_LAYER_NUMBER (MASK_WCB_NO_HWND + 45)
#define WCB_SET_ACTIVE_WIN_LAYER (MASK_WCB_NO_HWND + 46)
//------------- LAYER_NUMBER_ACCESS_FROM_WCB
//-------------- CPY v5.004 8/4/97 t2897 FDLOG_SETDEFAULT_MUST_ALWAYS_SET_PATH
#define WCB_GET_DEFAULT_PATH (MASK_WCB_NO_HWND + 47)
//-------------- FDLOG_SETDEFAULT_MUST_ALWAYS_SET_PATH
//--------------- CPY v5.005 8/5/97 FITTER_HELP_TO_GENERAL_CONTENTS
#define WCB_GET_ONLINE_HELP (MASK_WCB_NO_HWND + 48)
//--------------- FITTER_HELP_TO_GENERAL_CONTENTS
//---------- CPY v5.028 11/24/97 b3252 STAT_NAME_COUNT_INDEP_DATASET
#define WCB_IS_WKSNAME_USED (MASK_WCB_NO_HWND + 49)
//---------- STAT_NAME_COUNT_INDEP_DATASET
/// RB 9/15/98 v6.0129 t4194 FFT_EXPONENT_SIGN_CHOICE
#define WCB_GET_FFT_EXPONENT_SIGN (MASK_WCB_NO_HWND + 50)
/// end FFT_EXPONENT_SIGN_CHOICE
/// DVT 3/1/99 v6.0169 t5373 AVAILABLE_SERIES_FROM_CUR_FOLDER
#define WCB_IS_SERIES_FROM_CUR_FOLDER (MASK_WCB_NO_HWND + 51)
#define WCB_TOGGLE_SAVE_SERIES_FROM_CUR_FOLDER (MASK_WCB_NO_HWND + 52)
/// end AVAILABLE_SERIES_FROM_CUR_FOLDER
///CPY v4.133 8/29/96 WCB_FRAME_ACCESS
#ifdef WCB_FRAME_ACCESS
/// ML v4.133 8/30/96 FRAME_AND_MEMORY_OBJECT_ACCESS
// possible values for wOption:
enum {
MOLAYER_WKS = 1,
MOLAYER_GRAPH, // nLayer contains the layer number, -1 for active
};
/// end FRAME_AND_MEMORY_OBJECT_ACCESS
#define WCB_FRAME_GET_ID (MASK_FRAME + 1)
/// ML v4.133 9/5/96 CREATE_NEW_GRAPH
#define WCB_FRAME_CREATE_NEW_GRAPH (MASK_FRAME + 2)
/// end CREATE_NEW_GRAPH
/// ML v4.133 9/6/96 PLOT_TYPES_AND_STRUCTURE
#define WCB_FRAME_STAT_PLOT (MASK_FRAME + 3)
/// ML end PLOT_TYPES_AND_STRUCTURE
typedef struct FR_LAYER_OPTION
{
int nLayer;
WORD wOption;
}FR_LAYER_OPTION, FAR *LP_FR_LAYER_OPTION;
#define MASK_FRAME_OBJ 0x0400
typedef struct FR_MEM_OBJ_SIZE
{
DWORD id_fr;
WORD wSize;
///CPY v4.133 9/9/96 CREATE_TEXT_LABEL
LPSTR lpBuffer;/// use for MASK_FRAME_TEXT_OBJ only, ignore for mem obj
}FR_MEM_OBJ_SIZE, FAR *LP_FR_MEM_OBJ_SIZE;
#define WCB_FRAME_OBJ_CREATE (MASK_FRAME | MASK_FRAME_OBJ)
#define WCB_FRAME_OBJ_OPEN (WCB_FRAME_OBJ_CREATE + 1)
#define WCB_FRAME_OBJ_CREATE_OPEN (WCB_FRAME_OBJ_CREATE + 2)
#define WCB_FRAME_OBJ_CLOSE (WCB_FRAME_OBJ_CREATE + 3)
#define WCB_FRAME_OBJ_CHECK (WCB_FRAME_OBJ_CREATE + 4)
///CPY v4.133 9/9/96 CREATE_TEXT_LABEL
#define MASK_FRAME_TEXT_OBJ 0x0200
#define WCB_FRAME_TEXT_GET (MASK_FRAME | MASK_FRAME_OBJ | MASK_FRAME_TEXT_OBJ)
#define WCB_FRAME_TEXT_SET (WCB_FRAME_TEXT_GET + 1)
/// CREATE_TEXT_LABEL
#endif //WCB_FRAME_ACCESS
///CPY v4.05 3/8/96 WCB_WKS_HANDLING, change WCB_WKS_GET_NUM_COLS's def
/// ML v3.980 1/17/96 WCB_WKS_GET_NUM_COLS
//#define WCB_WKS_GET_NUM_COLS (MASK_WCB_NO_HWND + 41)
/// end WCB_WKS_GET_NUM_COLS
#define WCB_WKS_GET_ID (MASK_WCB_WKS + 1)
/// ML v4.090 5/19/96 CREATE_DATA_AND_PLOT
#define WCB_WKS_CREATE_DATA_AND_PLOT (MASK_WCB_WKS + 2)
///ANU v4.979 4/25/97 CREATE_OBJ
#define WCB_CREATE_DATA_WKS (MASK_WCB_WKS + 3)
#define MAX_NUM_CREATE_OBJS 20
typedef struct CREATE_OBJ_INFO
{
BYTE nColType[MAX_NUM_CREATE_OBJS]; //column type
int nNumTypes; //number of types actually used
char szWksName[MAX_PATH]; //name of the new wks
char szTemplate[MAX_PATH]; //name of the template
int nPts; ///total rows in the column
//------------------------------------------------------------- CPY v6.0142 t4628 12/7/98 READ_ONLY_LAYER
//BOOL bEnum; //enumerate the col names or not
USHORT wCntrl;// read_only, enumerate_col_names etc.
//------------------------------------------------------------- end READ_ONLY_LAYER
/// GCJ 3/4/99 t5510 v6.0169 ENUMERATE_WORKSHEET_PROPERTY
char szWksLabel[MAX_PATH]; //label of the new wks
/// ENUMERATE_WORKSHEET_PROPERTY
int nTypeN; //type to repeat if there are more columns than types
///ANU v4.983 5/9/97 CREATE_OBJ_STRUCT_MEMORY
///char* strDataName[MAX_NUM_CREATE_OBJS]; //names of the dataset created
char strDataName[MAX_NUM_CREATE_OBJS][SNAME_SIZE]; //names of the dataset created
///end CREATE_OBJ_STRUCT_MEMORY
}CREATE_OBJ_INFO, FAR *LPCREATE_OBJ_INFO;
//------------------------------------------------------------- CPY v6.0142 t4628 12/7/98 READ_ONLY_LAYER
#define COI_READ_ONLY 0x1000
#define COI_ENUM_COL_NAME 0x2000
//------------------------------------------------------------- end READ_ONLY_LAYER
/// GCJ 3/4/99 t5510 v6.0169 ENUMERATE_WORKSHEET_PROPERTY
#define COI_ENUM_WKS_NAME 0x4000
/// ENUMERATE_WORKSHEET_PROPERTY
BOOL CreateDataWks( LPCREATE_OBJ_INFO lpCreateInfo, LPSTR lpstrColNames );
BOOL MakeColStr( LPSTR lpstInput );
BOOL DeleteDataSet(LPCREATE_OBJ_INFO lpCreateInfo, LPSTR pstrColName);
#define WCB_DELETE_DATA_WKS_COLS (MASK_WCB_WKS + 4)
//end CREATE_OBJ
/// end CREATE_DATA_AND_PLOT
#define MASK_WCB_WKS_NEED_ID 0x0800 /// 0xF000 is wks type mask
#define WCB_WKS_GET_NUM_COLUMNS (MASK_WCB_WKS | MASK_WCB_WKS_NEED_ID ) /// have to change name to ensure no old codes are using this
#define WCB_WKS_GET_COL_NAME (WCB_WKS_GET_NUM_COLUMNS + 1)
/// ML 5/1/96 GET_COLUMN_LABEL
#define WCB_WKS_GET_COL_LABEL (WCB_WKS_GET_NUM_COLUMNS + 2)
/// end GET_COLUMN_LABEL
/// ML v4.090 5/3/96 VARIOUS_WORKSHEET_MANIPULATIONS
#define WCB_WKS_CLEAR_WORKSHEET_OF_DATA (WCB_WKS_GET_NUM_COLUMNS + 3)
#define WCB_WKS_REMOVE_COLUMN_BY_NUMBER (WCB_WKS_GET_NUM_COLUMNS + 4)
#define WCB_WKS_REMOVE_COLUMN_BY_NAME (WCB_WKS_GET_NUM_COLUMNS + 5)
#define WCB_WKS_INSERT_COLUMN (WCB_WKS_GET_NUM_COLUMNS + 6)
#define WCB_WKS_SET_BY_NUM_COLUMN_LABEL (WCB_WKS_GET_NUM_COLUMNS + 7)
#define WCB_WKS_SET_BY_NAME_COLUMN_LABEL (WCB_WKS_GET_NUM_COLUMNS + 8)
/// end VARIOUS_WORKSHEET_MANIPULATIONS
/// ML v4.090 5/17/96 CREATE_NEW_EMPTY_WORKSHEET
/// ML v4.090 5/23/96 CREATE_NON_EMPTY_WORKSHEET_ON_OPTION
//#define WCB_WKS_CREATE_NEW_EMPTY (WCB_WKS_GET_NUM_COLUMNS + 9)
#define WCB_WKS_CREATE_NEW (WCB_WKS_GET_NUM_COLUMNS + 9)
/// end CREATE_NON_EMPTY_WORKSHEET_ON_OPTION
/// end CREATE_NEW_EMPTY_WORKSHEET
/// ML v4.090 5/17/96 DESTROY_WORKSHEET
#define WCB_WKS_DESTROY (WCB_WKS_GET_NUM_COLUMNS + 10)
/// end DESTROY_WORKSHEET
/// ML v4.090 5/19/96 VARIOUS_COLUMN_SETTINGS
#define WCB_WKS_SET_COLUMN_AS (WCB_WKS_GET_NUM_COLUMNS + 11)
#define WCB_WKS_SET_COL_WIDTH (WCB_WKS_GET_NUM_COLUMNS + 12)
#define WCB_WKS_SET_COL_NUM_DEC_PLACES (WCB_WKS_GET_NUM_COLUMNS + 13)
/// end VARIOUS_COLUMN_SETTINGS
/// ML v4.090 5/22/96 MORE_WORKSHEET_STUFF
#define WCB_WKS_SHOW_COLUMN_LABELS (WCB_WKS_GET_NUM_COLUMNS + 14)
#define WCB_WKS_SHOW_COLUMN_NAMES (WCB_WKS_GET_NUM_COLUMNS + 15)
#define WCB_WKS_SET_COL_HEADING_HEIGHT (WCB_WKS_GET_NUM_COLUMNS + 16)
#define WCB_WKS_GET_COL_LABEL_BY_NAME (WCB_WKS_GET_NUM_COLUMNS + 17)
/// end MORE_WORKSHEET_STUFF
/// ML v4.090 5/24/96 SET_COLUMN_NAME
#define WCB_WKS_SET_COL_NAME (WCB_WKS_GET_NUM_COLUMNS + 18)
/// end SET_COLUMN_NAME
/// YN v4.090 5/28/96 SET_WKS_LABEL
#define WCB_WKS_SET_WKS_LABEL (WCB_WKS_GET_NUM_COLUMNS + 19)
/// end SET_WKS_LABEL
/// ML 6/3/96 SET_COLUMN_TYPE_AS
#define WCB_WKS_SET_COL_TYPE (WCB_WKS_GET_NUM_COLUMNS + 20)
// see below for possible types:
/// end SET_COLUMN_TYPE_AS
/// YN v4.10 6/14/96 ADD_GetColumnWidth_FUNCTIONS
#define WCB_WKS_GET_COL_WIDTH (WCB_WKS_GET_NUM_COLUMNS + 21)
/// end ADD_GetColumnWidth_FUNCTIONS
/// ML v4.10 6/18/96 GET_COLUMN_TYPE
#define WCB_WKS_GET_COL_TYPE (WCB_WKS_GET_NUM_COLUMNS + 22)
/// end GET_COLUMN_TYPE
/// ML v4.11 7/1/96 SHOW_WORKSHEET_NAME_LABEL_OR_BOTH
#define WCB_WKS_SHOW_WIN_NAME_LABEL_BOTH (WCB_WKS_GET_NUM_COLUMNS + 23)
/// end SHOW_WORKSHEET_NAME_LABEL_OR_BOTH
///ANU v4.14 12/23/96 SETCOLUMNTITLE, new public function
#define WCB_WKS_SET_BY_NUM_COLUMN_TITLE (WCB_WKS_GET_NUM_COLUMNS + 24)
///end SETCOLUMNTITLE
//------------- CPY v5.036 1/22/98 t3479 MODATA_SET_RANGE_CHANGE
#define WCB_WKS_SET_RANGE (WCB_WKS_GET_NUM_COLUMNS + 25)
/// additional constants for redraw options in the lpLong[4] parameter
/// GCJ 11/6/98 t4423 v6.0136 WRONG_STEREO_WAVEFILE_IMPORT
#define WCB_WKS_SET_MAX_ROW_SIZE (WCB_WKS_GET_NUM_COLUMNS + 26)
/// end WRONG_STEREO_WAVEFILE_IMPORT
#define WSR_SETRANGE_EXPAND 0x0200
/* data range has been increased, need to update
* all the plots to the new range.
*/
#define WSR_SETRANGE_DRAW_ALL 0x0100
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -