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

📄 tckgrid.c

📁 使用labwindows/cvi开发的小程序
💻 C
📖 第 1 页 / 共 5 页
字号:

static CA_INTERFACEDATA _DMSFlexGridEvents_CA_INTERFACEDATA =
	{
		_DMSFlexGridEvents_CA_METHODDATA,
        sizeof (_DMSFlexGridEvents_CA_METHODDATA) / sizeof (*_DMSFlexGridEvents_CA_METHODDATA)
	};

static void * _DMSFlexGridEvents_EventVTable[] =
	{
		DMSFlexGridEventsRegOnClick_EventVTableFunc,
        DMSFlexGridEventsRegOnKeyDown_EventVTableFunc,
        DMSFlexGridEventsRegOnDblClick_EventVTableFunc,
        DMSFlexGridEventsRegOnKeyPress_EventVTableFunc,
        DMSFlexGridEventsRegOnKeyUp_EventVTableFunc,
        DMSFlexGridEventsRegOnMouseDown_EventVTableFunc,
        DMSFlexGridEventsRegOnMouseMove_EventVTableFunc,
        DMSFlexGridEventsRegOnMouseUp_EventVTableFunc,
        DMSFlexGridEventsRegOnSelChange_EventVTableFunc,
        DMSFlexGridEventsRegOnRowColChange_EventVTableFunc,
        DMSFlexGridEventsRegOnEnterCell_EventVTableFunc,
        DMSFlexGridEventsRegOnLeaveCell_EventVTableFunc,
        DMSFlexGridEventsRegOnScroll_EventVTableFunc,
        DMSFlexGridEventsRegOnCompare_EventVTableFunc,
        DMSFlexGridEventsRegOnOLEStartDrag_EventVTableFunc,
        DMSFlexGridEventsRegOnOLEGiveFeedback_EventVTableFunc,
        DMSFlexGridEventsRegOnOLESetData_EventVTableFunc,
        DMSFlexGridEventsRegOnOLECompleteDrag_EventVTableFunc,
        DMSFlexGridEventsRegOnOLEDragOver_EventVTableFunc,
        DMSFlexGridEventsRegOnOLEDragDrop_EventVTableFunc
	};

static CAEventClassDefn _DMSFlexGridEvents_CAEventClassDefn =
	{
		20,
        &MSFlexGridLib_IID_DMSFlexGridEvents,
        _DMSFlexGridEvents_EventVTable,
        &_DMSFlexGridEvents_CA_INTERFACEDATA,
        0
	};

const IID MSFlexGridLib_IID_IMSFlexGrid =
	{
		0x5F4DF280, 0x531B, 0x11CF, 0x91, 0xF6, 0xC2, 0x86, 0x3C, 0x38, 0x5E, 0x30
	};

const IID MSFlexGridLib_IID_DMSFlexGridEvents =
	{
		0x609602E0, 0x531B, 0x11CF, 0x91, 0xF6, 0xC2, 0x86, 0x3C, 0x38, 0x5E, 0x30
	};

const IID MSFlexGridLib_IID_IVBDataObject =
	{
		0x2334D2B1, 0x713E, 0x11CF, 0x8A, 0xE5, 0x0, 0xAA, 0x0, 0xC0, 0x9, 0x5
	};

const IID MSFlexGridLib_IID_IVBDataObjectFiles =
	{
		0x2334D2B3, 0x713E, 0x11CF, 0x8A, 0xE5, 0x0, 0xAA, 0x0, 0xC0, 0x9, 0x5
	};

const IID MSFlexGridLib_IID_IRowCursor =
	{
		0x9F6AA700, 0xD188, 0x11CD, 0xAD, 0x48, 0x0, 0xAA, 0x0, 0x3C, 0x9C, 0xB6
	};

const IID MSFlexGridLib_IID_Font =
	{
		0xBEF6E003, 0xA874, 0x101A, 0x8B, 0xBA, 0x0, 0xAA, 0x0, 0x30, 0xC, 0xAB
	};

const IID MSFlexGridLib_IID_Picture =
	{
		0x7BF80981, 0xBF32, 0x101A, 0x8B, 0xBB, 0x0, 0xAA, 0x0, 0x30, 0xC, 0xAB
	};

HRESULT CVIFUNC MSFlexGridLib_IVBDataObjectClear (CAObjHandle objectHandle,
                                                  ERRORINFO *errorInfo)
{
	HRESULT __result = S_OK;
	MSFlexGridLib_IVBDataObject_Interface * __vtblIFacePtr = 0;
	int __didAddRef;
	int __errorInfoPresent = 0;

	__caErrChk (CA_GetInterfaceFromObjHandle (objectHandle,
	                                          &MSFlexGridLib_IID_IVBDataObject,
	                                          0, &__vtblIFacePtr, &__didAddRef));
	__caErrChk (__vtblIFacePtr->lpVtbl->Clear_ (__vtblIFacePtr));

Error:
	if (__vtblIFacePtr && __didAddRef)
		__vtblIFacePtr->lpVtbl->Release (__vtblIFacePtr);
	CA_FillErrorInfoEx (objectHandle, &MSFlexGridLib_IID_IVBDataObject,
	                    __result, errorInfo, &__errorInfoPresent);
	if (__errorInfoPresent)
		__result = DISP_E_EXCEPTION;
	return __result;
}

HRESULT CVIFUNC MSFlexGridLib_IVBDataObjectGetData (CAObjHandle objectHandle,
                                                    ERRORINFO *errorInfo,
                                                    short sFormat,
                                                    VARIANT *pvData)
{
	HRESULT __result = S_OK;
	MSFlexGridLib_IVBDataObject_Interface * __vtblIFacePtr = 0;
	int __didAddRef;
	int __errorInfoPresent = 0;
	VARIANT pvData__Temp;

	if (pvData)
		CA_VariantSetEmpty (pvData);
	CA_VariantSetEmpty (&pvData__Temp);

	__caErrChk (CA_GetInterfaceFromObjHandle (objectHandle,
	                                          &MSFlexGridLib_IID_IVBDataObject,
	                                          0, &__vtblIFacePtr, &__didAddRef));
	__caErrChk (__vtblIFacePtr->lpVtbl->GetData_ (__vtblIFacePtr, sFormat,
	                                              &pvData__Temp));

	if (pvData)
		{
		*pvData = pvData__Temp;
		CA_VariantSetEmpty (&pvData__Temp);
		}

Error:
	CA_VariantClear (&pvData__Temp);
	if (__vtblIFacePtr && __didAddRef)
		__vtblIFacePtr->lpVtbl->Release (__vtblIFacePtr);
	if (FAILED(__result))
		{
		if (pvData)
			CA_VariantClear (pvData);
		}
	CA_FillErrorInfoEx (objectHandle, &MSFlexGridLib_IID_IVBDataObject,
	                    __result, errorInfo, &__errorInfoPresent);
	if (__errorInfoPresent)
		__result = DISP_E_EXCEPTION;
	return __result;
}

HRESULT CVIFUNC MSFlexGridLib_IVBDataObjectGetFormat (CAObjHandle objectHandle,
                                                      ERRORINFO *errorInfo,
                                                      short sFormat,
                                                      VBOOL *pbFormatSupported)
{
	HRESULT __result = S_OK;
	MSFlexGridLib_IVBDataObject_Interface * __vtblIFacePtr = 0;
	int __didAddRef;
	int __errorInfoPresent = 0;
	VBOOL pbFormatSupported__Temp;

	__caErrChk (CA_GetInterfaceFromObjHandle (objectHandle,
	                                          &MSFlexGridLib_IID_IVBDataObject,
	                                          0, &__vtblIFacePtr, &__didAddRef));
	__caErrChk (__vtblIFacePtr->lpVtbl->GetFormat_ (__vtblIFacePtr, sFormat,
	                                                &pbFormatSupported__Temp));

	if (pbFormatSupported)
		{
		*pbFormatSupported = pbFormatSupported__Temp;
		}

Error:
	if (__vtblIFacePtr && __didAddRef)
		__vtblIFacePtr->lpVtbl->Release (__vtblIFacePtr);
	CA_FillErrorInfoEx (objectHandle, &MSFlexGridLib_IID_IVBDataObject,
	                    __result, errorInfo, &__errorInfoPresent);
	if (__errorInfoPresent)
		__result = DISP_E_EXCEPTION;
	return __result;
}

HRESULT CVIFUNC MSFlexGridLib_IVBDataObjectSetData (CAObjHandle objectHandle,
                                                    ERRORINFO *errorInfo,
                                                    VARIANT vValue,
                                                    VARIANT vFormat)
{
	HRESULT __result = S_OK;
	MSFlexGridLib_IVBDataObject_Interface * __vtblIFacePtr = 0;
	int __didAddRef;
	int __errorInfoPresent = 0;

	__caErrChk (CA_GetInterfaceFromObjHandle (objectHandle,
	                                          &MSFlexGridLib_IID_IVBDataObject,
	                                          0, &__vtblIFacePtr, &__didAddRef));
	__caErrChk (__vtblIFacePtr->lpVtbl->SetData_ (__vtblIFacePtr, vValue,
	                                              vFormat));

Error:
	if (__vtblIFacePtr && __didAddRef)
		__vtblIFacePtr->lpVtbl->Release (__vtblIFacePtr);
	CA_FillErrorInfoEx (objectHandle, &MSFlexGridLib_IID_IVBDataObject,
	                    __result, errorInfo, &__errorInfoPresent);
	if (__errorInfoPresent)
		__result = DISP_E_EXCEPTION;
	return __result;
}

HRESULT CVIFUNC MSFlexGridLib_IVBDataObjectGetFiles (CAObjHandle objectHandle,
                                                     ERRORINFO *errorInfo,
                                                     MSFlexGridLibObj_IVBDataObjectFiles *pFiles)
{
	HRESULT __result = S_OK;
	MSFlexGridLib_IVBDataObject_Interface * __vtblIFacePtr = 0;
	int __didAddRef;
	int __errorInfoPresent = 0;
	LPDISPATCH pFiles__AutoType = 0;
	LCID __locale;
	int __supportMultithreading;

	if (pFiles)
		*pFiles = 0;

	__caErrChk (CA_GetLocale (objectHandle, &__locale));
	__caErrChk (CA_GetSupportForMultithreading (objectHandle,
	                                            &__supportMultithreading));

	__caErrChk (CA_GetInterfaceFromObjHandle (objectHandle,
	                                          &MSFlexGridLib_IID_IVBDataObject,
	                                          0, &__vtblIFacePtr, &__didAddRef));
	__caErrChk (__vtblIFacePtr->lpVtbl->GetFiles_ (__vtblIFacePtr,
	                                               &pFiles__AutoType));
	

	if (pFiles)
		{
		__caErrChk (CA_CreateObjHandleFromInterface (pFiles__AutoType,
		                                             &MSFlexGridLib_IID_IVBDataObjectFiles,
		                                             __supportMultithreading,
		                                             __locale, 0, 0, pFiles));
		pFiles__AutoType = 0;
		}

Error:
	if (pFiles__AutoType)
		pFiles__AutoType->lpVtbl->Release (pFiles__AutoType);

⌨️ 快捷键说明

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