📄 orgdll.h
字号:
#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
*/
/// EJP 11-29-99 v6.0240 t6662 SET_MATRIX_DATA_TYPE_FROM_MOCA_DLL
#define WM_DLL_MATRIX_GET_DATATYPE (WM_DLL_BEGIN + 14)
#define WM_DLL_MATRIX_SET_DATATYPE (WM_DLL_BEGIN + 15)
// internal data type is the same as the dropdown list in column dialog
// 0 = double, 1 = float, 2 = short int, 3 = long int
/// YuI 4/16/02 QA70-1478 v7.0281 MULTIFRAME_TIFF_IMPORT
#define WM_DLL_MATRIX_SWITCH_DATATYPE (WM_DLL_BEGIN + 16)
/// end MULTIFRAME_TIFF_IMPORT
//-------- CPY 11/12/01 v6.9122 MATRIX_IMPORT_AS_DATA_WHEN_VIEW_IMAGE
// add flag for additional meanings
#define WM_DLL_MATRIX_SET_DATATYPE_BITS 0x00FF
#define SET_DATATYPE_WPARAM_INIT_SHOW_DATA 0x4000
/// YuI 4/16/02 QA70-1478 v7.0281 MULTIFRAME_TIFF_IMPORT
#define SET_DATATYPE_WPARAM_SYNCHRONIZE 0x8000//relates to MoMatrix defines id SetInternalDataType should set data type to all objects in matrix layer
/// end MULTIFRAME_TIFF_IMPORT
//-------- end CPY 11/12/01 v6.9122 MATRIX_IMPORT_AS_DATA_WHEN_VIEW_IMAGE
/// end SET_MATRIX_DATA_TYPE_FROM_MOCA_DLL
#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
*/
//-------- CPY 11-10-2001 v6.9122 MATRIX_Z1_Z2_CONTROL
// lParam is LPDOUBLE to z1 z2
// wParam = 1 to set, 0 to get,
#define ZRANGE_WPARAM_SET 0x01
#define ZRANGE_WPARAM_SET_ROUND 0x02
#define ZRANGE_GET_RETURN_NO_COLORMAP 0x1000
#define WM_DLL_MATRIX_GETSET_Z1_Z2 (WM_DLL_BEGIN + 97)
//-------- end CPY 11-10-2001 v6.9122 MATRIX_Z1_Z2_CONTROL
/// ML 3/18/2002 t9975, QA70-1124 ALLOW_MATRIX_SIZE_OVER_TWO_BYTES
#define WM_DLL_MATRIX_GET_DIM_EX (WM_DLL_BEGIN + 98)
/// end ALLOW_MATRIX_SIZE_OVER_TWO_BYTES
/// YuI 4/24/02 QA70-1478 v7.0281 MULTIFRAME_TIFF_IMPORT
#define DATA_CONVERTED_WPARAM_SET 0x01
#define WM_DLL_MATRIX_GETSET_DATA_CONVERTED (WM_DLL_BEGIN + 99)
/// end MULTIFRAME_TIFF_IMPORT
///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
*
* 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 */
//----------- CPY v6.9139 11/29/01 t9756 MATRIX_FROM_LAYER
//ULONG do_DLL_message(HWND, USHORT, USHORT, ULONG);
ULONG do_DLL_message(HWND, USHORT, DWORD, 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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -