⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 orgdll.h

📁 图像处理的压缩算法
💻 H
📖 第 1 页 / 共 4 页
字号:
 * 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 + -