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

📄 tckgrid.c

📁 使用labwindows/cvi开发的小程序
💻 C
📖 第 1 页 / 共 5 页
字号:
#include "tckgrid.h"
#include <userint.h>

static void CVIFUNC DMSFlexGridEventsRegOnClick_EventVTableFunc (void *thisPtr);

static void CVIFUNC DMSFlexGridEventsRegOnKeyDown_EventVTableFunc (void *thisPtr,
                                                                   short *keyCode,
                                                                   short shift);

static void CVIFUNC DMSFlexGridEventsRegOnDblClick_EventVTableFunc (void *thisPtr);

static void CVIFUNC DMSFlexGridEventsRegOnKeyPress_EventVTableFunc (void *thisPtr,
                                                                    short *keyAscii);

static void CVIFUNC DMSFlexGridEventsRegOnKeyUp_EventVTableFunc (void *thisPtr,
                                                                 short *keyCode,
                                                                 short shift);

static void CVIFUNC DMSFlexGridEventsRegOnMouseDown_EventVTableFunc (void *thisPtr,
                                                                     short button,
                                                                     short shift,
                                                                     long x,
                                                                     long y);

static void CVIFUNC DMSFlexGridEventsRegOnMouseMove_EventVTableFunc (void *thisPtr,
                                                                     short button,
                                                                     short shift,
                                                                     long x,
                                                                     long y);

static void CVIFUNC DMSFlexGridEventsRegOnMouseUp_EventVTableFunc (void *thisPtr,
                                                                   short button,
                                                                   short shift,
                                                                   long x,
                                                                   long y);

static void CVIFUNC DMSFlexGridEventsRegOnSelChange_EventVTableFunc (void *thisPtr);

static void CVIFUNC DMSFlexGridEventsRegOnRowColChange_EventVTableFunc (void *thisPtr);

static void CVIFUNC DMSFlexGridEventsRegOnEnterCell_EventVTableFunc (void *thisPtr);

static void CVIFUNC DMSFlexGridEventsRegOnLeaveCell_EventVTableFunc (void *thisPtr);

static void CVIFUNC DMSFlexGridEventsRegOnScroll_EventVTableFunc (void *thisPtr);

static void CVIFUNC DMSFlexGridEventsRegOnCompare_EventVTableFunc (void *thisPtr,
                                                                   long row1,
                                                                   long row2,
                                                                   short *cmp);

static void CVIFUNC DMSFlexGridEventsRegOnOLEStartDrag_EventVTableFunc (void *thisPtr,
                                                                        LPDISPATCH *data,
                                                                        long *allowedEffects);

static void CVIFUNC DMSFlexGridEventsRegOnOLEGiveFeedback_EventVTableFunc (void *thisPtr,
                                                                           long *effect,
                                                                           VBOOL *defaultCursors);

static void CVIFUNC DMSFlexGridEventsRegOnOLESetData_EventVTableFunc (void *thisPtr,
                                                                      LPDISPATCH *data,
                                                                      short *dataFormat);

static void CVIFUNC DMSFlexGridEventsRegOnOLECompleteDrag_EventVTableFunc (void *thisPtr,
                                                                           long *effect);

static void CVIFUNC DMSFlexGridEventsRegOnOLEDragOver_EventVTableFunc (void *thisPtr,
                                                                       LPDISPATCH *data,
                                                                       long *effect,
                                                                       short *button,
                                                                       short *shift,
                                                                       float *x,
                                                                       float *y,
                                                                       short *state);

static void CVIFUNC DMSFlexGridEventsRegOnOLEDragDrop_EventVTableFunc (void *thisPtr,
                                                                       LPDISPATCH *data,
                                                                       long *effect,
                                                                       short *button,
                                                                       short *shift,
                                                                       float *x,
                                                                       float *y);

#define __ActiveXCtrlErrorHandler() \
if ((ctrlId) > 0) \
	{ \
	if (controlID) \
		*controlID = (ctrlId); \
	if (UILError) \
		*UILError = 0; \
	__result = S_OK; \
	} \
else if ((ctrlId) == UIEActiveXError) \
	{ \
	if (controlID) \
		*controlID = 0; \
	if (UILError) \
		*UILError = 0; \
	} \
else \
	{ \
	if (controlID) \
		*controlID = 0; \
	if (UILError) \
		*UILError = (ctrlId); \
	__result = E_CVIAUTO_CVI_UI_ERROR; \
	}

typedef interface tagMSFlexGridLib_IVBDataObject_Interface MSFlexGridLib_IVBDataObject_Interface;

typedef struct tagMSFlexGridLib_IVBDataObject_VTable
{
	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( MSFlexGridLib_IVBDataObject_Interface __RPC_FAR * This, 
	                                                         REFIID riid, 
	                                                         void __RPC_FAR *__RPC_FAR *ppvObject);

	ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( MSFlexGridLib_IVBDataObject_Interface __RPC_FAR * This);

	ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( MSFlexGridLib_IVBDataObject_Interface __RPC_FAR * This);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( MSFlexGridLib_IVBDataObject_Interface __RPC_FAR * This, 
	                                                           UINT __RPC_FAR *pctinfo);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( MSFlexGridLib_IVBDataObject_Interface __RPC_FAR * This, 
	                                                      UINT iTInfo, 
	                                                      LCID lcid, 
	                                                      ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( MSFlexGridLib_IVBDataObject_Interface __RPC_FAR * This, 
	                                                        REFIID riid, 
	                                                        LPOLESTR __RPC_FAR *rgszNames, 
	                                                        UINT cNames, 
	                                                        LCID lcid, 
	                                                        DISPID __RPC_FAR *rgDispId);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( MSFlexGridLib_IVBDataObject_Interface __RPC_FAR * This, 
	                                                 DISPID dispIdMember, 
	                                                 REFIID riid, 
	                                                 LCID lcid, 
	                                                 WORD wFlags, 
	                                                 DISPPARAMS __RPC_FAR *pDispParams, 
	                                                 VARIANT __RPC_FAR *pVarResult, 
	                                                 EXCEPINFO __RPC_FAR *pExcepInfo, 
	                                                 UINT __RPC_FAR *puArgErr);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear_) (MSFlexGridLib_IVBDataObject_Interface __RPC_FAR *This);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData_) (MSFlexGridLib_IVBDataObject_Interface __RPC_FAR *This, 
	                                                  short sFormat, 
	                                                  VARIANT *pvData);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFormat_) (MSFlexGridLib_IVBDataObject_Interface __RPC_FAR *This, 
	                                                    short sFormat, 
	                                                    VBOOL *pbFormatSupported);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetData_) (MSFlexGridLib_IVBDataObject_Interface __RPC_FAR *This, 
	                                                  VARIANT vValue, 
	                                                  VARIANT vFormat);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFiles_) (MSFlexGridLib_IVBDataObject_Interface __RPC_FAR *This, 
	                                                   LPDISPATCH *pFiles);

} MSFlexGridLib_IVBDataObject_VTable;

typedef interface tagMSFlexGridLib_IVBDataObject_Interface
{
	CONST_VTBL MSFlexGridLib_IVBDataObject_VTable __RPC_FAR *lpVtbl;
} MSFlexGridLib_IVBDataObject_Interface;

typedef interface tagMSFlexGridLib_IVBDataObjectFiles_Interface MSFlexGridLib_IVBDataObjectFiles_Interface;

typedef struct tagMSFlexGridLib_IVBDataObjectFiles_VTable
{
	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR * This, 
	                                                         REFIID riid, 
	                                                         void __RPC_FAR *__RPC_FAR *ppvObject);

	ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR * This);

	ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR * This);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR * This, 
	                                                           UINT __RPC_FAR *pctinfo);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR * This, 
	                                                      UINT iTInfo, 
	                                                      LCID lcid, 
	                                                      ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR * This, 
	                                                        REFIID riid, 
	                                                        LPOLESTR __RPC_FAR *rgszNames, 
	                                                        UINT cNames, 
	                                                        LCID lcid, 
	                                                        DISPID __RPC_FAR *rgDispId);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR * This, 
	                                                 DISPID dispIdMember, 
	                                                 REFIID riid, 
	                                                 LCID lcid, 
	                                                 WORD wFlags, 
	                                                 DISPPARAMS __RPC_FAR *pDispParams, 
	                                                 VARIANT __RPC_FAR *pVarResult, 
	                                                 EXCEPINFO __RPC_FAR *pExcepInfo, 
	                                                 UINT __RPC_FAR *puArgErr);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetItem_) (MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR *This, 
	                                                  long lIndex, 
	                                                  BSTR *bstrItem);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCount_) (MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR *This, 
	                                                   long *plCount);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Add_) (MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR *This, 
	                                              BSTR bstrFilename, 
	                                              VARIANT vIndex);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clear_) (MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR *This);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Remove_) (MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR *This, 
	                                                 VARIANT vIndex);

	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum_) (MSFlexGridLib_IVBDataObjectFiles_Interface __RPC_FAR *This, 
	                                                   LPUNKNOWN *ppUnk);

} MSFlexGridLib_IVBDataObjectFiles_VTable;

typedef interface tagMSFlexGridLib_IVBDataObjectFiles_Interface
{
	CONST_VTBL MSFlexGridLib_IVBDataObjectFiles_VTable __RPC_FAR *lpVtbl;
} MSFlexGridLib_IVBDataObjectFiles_Interface;

typedef interface tagMSFlexGridLib_IMSFlexGrid_Interface MSFlexGridLib_IMSFlexGrid_Interface;

typedef struct tagMSFlexGridLib_IMSFlexGrid_VTable
{
	HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( MSFlexGridLib_IMSFlexGrid_Interface __RPC_FAR * This, 
	                                                         REFIID riid, 
	                                                         void __RPC_FAR *__RPC_FAR *ppvObject);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -