public void OLEDragDrop([In][Out, MarshalAs(UnmanagedType.IDispatch)] object data, [In][Out] ref object effect, [In][Out] ref object button, [In][Out] ref object shift, [In][Out] ref object x, [In][Out] ref object y) { if (!Validate("OLEDragDrop")) { Invoker.ReleaseParamsArray(data, effect, button, shift, x, y); return; } NetOffice.MSComctlLibApi.DataObject newData = new NetOffice.MSComctlLibApi.DataObject(EventClass, data); (newData as ICOMProxyShareProvider).GetProxyShare().Acquire(); object[] paramsArray = new object[6]; paramsArray.SetValue(newData, 0); paramsArray.SetValue(effect, 1); paramsArray.SetValue(button, 2); paramsArray.SetValue(shift, 3); paramsArray.SetValue(x, 4); paramsArray.SetValue(y, 5); EventBinding.RaiseCustomEvent("OLEDragDrop", ref paramsArray); data = newData.UnderlyingObject; effect = ToInt32(paramsArray[1]); button = ToInt32(paramsArray[2]); shift = ToInt32(paramsArray[3]); x = ToSingle(paramsArray[4]); y = ToSingle(paramsArray[5]); (newData as ICOMProxyShareProvider).GetProxyShare().Release(); }
/// <summary> /// /// </summary> /// <param name="data"></param> /// <param name="effect"></param> /// <param name="button"></param> /// <param name="shift"></param> /// <param name="x"></param> /// <param name="y"></param> /// <param name="state"></param> public void OLEDragOver([In][Out, MarshalAs(UnmanagedType.IDispatch)] object data, [In][Out] ref object effect, [In][Out] ref object button, [In][Out] ref object shift, [In][Out] ref object x, [In][Out] ref object y, [In][Out] ref object state) { if (!Validate("OLEDragOver")) { Invoker.ReleaseParamsArray(data, effect, button, shift, x, y, state); return; } NetOffice.MSComctlLibApi.DataObject newData = Factory.CreateKnownObjectFromComProxy <NetOffice.MSComctlLibApi.DataObject>(EventClass, data, typeof(NetOffice.MSComctlLibApi.DataObject)); (newData as ICOMProxyShareProvider).GetProxyShare().Acquire(); object[] paramsArray = new object[7]; paramsArray.SetValue(newData, 0); paramsArray.SetValue(effect, 1); paramsArray.SetValue(button, 2); paramsArray.SetValue(shift, 3); paramsArray.SetValue(x, 4); paramsArray.SetValue(y, 5); paramsArray.SetValue(state, 6); EventBinding.RaiseCustomEvent("OLEDragOver", ref paramsArray); data = newData.UnderlyingObject; effect = ToInt16(paramsArray[1]); button = ToInt16(paramsArray[2]); shift = ToInt16(paramsArray[3]); x = ToSingle(paramsArray[4]); y = ToSingle(paramsArray[5]); state = ToInt16(paramsArray[6]); (newData as ICOMProxyShareProvider).GetProxyShare().Release(); }
/// <summary> /// /// </summary> /// <param name="data"></param> /// <param name="allowedEffects"></param> public void OLEStartDrag([In][Out, MarshalAs(UnmanagedType.IDispatch)] object data, [In][Out] ref object allowedEffects) { if (!Validate("OLEStartDrag")) { Invoker.ReleaseParamsArray(data, allowedEffects); return; } NetOffice.MSComctlLibApi.DataObject newData = Factory.CreateKnownObjectFromComProxy <NetOffice.MSComctlLibApi.DataObject>(EventClass, data, typeof(NetOffice.MSComctlLibApi.DataObject)); (newData as ICOMProxyShareProvider).GetProxyShare().Acquire(); object[] paramsArray = new object[2]; paramsArray.SetValue(newData, 0); paramsArray.SetValue(allowedEffects, 1); EventBinding.RaiseCustomEvent("OLEStartDrag", ref paramsArray); data = newData.UnderlyingObject; allowedEffects = ToInt32(paramsArray[1]); (newData as ICOMProxyShareProvider).GetProxyShare().Release(); }
public void OLESetData([In][Out, MarshalAs(UnmanagedType.IDispatch)] object data, [In][Out] ref object dataFormat) { if (!Validate("OLESetData")) { Invoker.ReleaseParamsArray(data, dataFormat); return; } NetOffice.MSComctlLibApi.DataObject newData = new NetOffice.MSComctlLibApi.DataObject(EventClass, data); (newData as ICOMProxyShareProvider).GetProxyShare().Acquire(); object[] paramsArray = new object[2]; paramsArray.SetValue(newData, 0); paramsArray.SetValue(dataFormat, 1); EventBinding.RaiseCustomEvent("OLESetData", ref paramsArray); data = newData.UnderlyingObject; dataFormat = ToInt32(paramsArray[1]); (newData as ICOMProxyShareProvider).GetProxyShare().Release(); }