Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / WinForms / Managed / System / WinForms / DropSource.cs / 1 / DropSource.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; /// internal class DropSource : UnsafeNativeMethods.IOleDropSource { private const int DragDropSDrop = 0x00040100; private const int DragDropSCancel = 0x00040101; private const int DragDropSUseDefaultCursors = 0x00040102; private ISupportOleDropSource peer; public DropSource(ISupportOleDropSource peer ) { if (peer == null) throw new ArgumentNullException("peer"); this.peer = peer; } public int OleQueryContinueDrag(int fEscapePressed, int grfKeyState) { QueryContinueDragEventArgs qcdevent = null; bool escapePressed = (fEscapePressed != 0); DragAction action = DragAction.Continue; if (escapePressed) { action = DragAction.Cancel; } else if ((grfKeyState & NativeMethods.MK_LBUTTON) == 0 && (grfKeyState & NativeMethods.MK_RBUTTON) == 0 && (grfKeyState & NativeMethods.MK_MBUTTON) == 0) { action = DragAction.Drop; } qcdevent = new QueryContinueDragEventArgs(grfKeyState,escapePressed, action); peer.OnQueryContinueDrag(qcdevent); int hr = 0; switch (qcdevent.Action) { case DragAction.Drop: hr = DragDropSDrop; break; case DragAction.Cancel: hr = DragDropSCancel; break; } return hr; } public int OleGiveFeedback(int dwEffect) { GiveFeedbackEventArgs gfbevent = new GiveFeedbackEventArgs((DragDropEffects) dwEffect, true); peer.OnGiveFeedback(gfbevent); if (gfbevent.UseDefaultCursors) { return DragDropSUseDefaultCursors; } return 0; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; /// internal class DropSource : UnsafeNativeMethods.IOleDropSource { private const int DragDropSDrop = 0x00040100; private const int DragDropSCancel = 0x00040101; private const int DragDropSUseDefaultCursors = 0x00040102; private ISupportOleDropSource peer; public DropSource(ISupportOleDropSource peer ) { if (peer == null) throw new ArgumentNullException("peer"); this.peer = peer; } public int OleQueryContinueDrag(int fEscapePressed, int grfKeyState) { QueryContinueDragEventArgs qcdevent = null; bool escapePressed = (fEscapePressed != 0); DragAction action = DragAction.Continue; if (escapePressed) { action = DragAction.Cancel; } else if ((grfKeyState & NativeMethods.MK_LBUTTON) == 0 && (grfKeyState & NativeMethods.MK_RBUTTON) == 0 && (grfKeyState & NativeMethods.MK_MBUTTON) == 0) { action = DragAction.Drop; } qcdevent = new QueryContinueDragEventArgs(grfKeyState,escapePressed, action); peer.OnQueryContinueDrag(qcdevent); int hr = 0; switch (qcdevent.Action) { case DragAction.Drop: hr = DragDropSDrop; break; case DragAction.Cancel: hr = DragDropSCancel; break; } return hr; } public int OleGiveFeedback(int dwEffect) { GiveFeedbackEventArgs gfbevent = new GiveFeedbackEventArgs((DragDropEffects) dwEffect, true); peer.OnGiveFeedback(gfbevent); if (gfbevent.UseDefaultCursors) { return DragDropSUseDefaultCursors; } return 0; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SecureEnvironment.cs
- PinnedBufferMemoryStream.cs
- InstanceView.cs
- ThemeDictionaryExtension.cs
- QuaternionAnimationUsingKeyFrames.cs
- RegexGroup.cs
- CrossContextChannel.cs
- StringFormat.cs
- httpserverutility.cs
- SimplePropertyEntry.cs
- _KerberosClient.cs
- GPPOINTF.cs
- PerformanceCounterCategory.cs
- SafeThemeHandle.cs
- CopyCodeAction.cs
- PointLightBase.cs
- LoginUtil.cs
- AccessorTable.cs
- RelationshipConverter.cs
- DataGridViewRow.cs
- SoapAttributes.cs
- TypeBuilder.cs
- MemoryStream.cs
- BitSet.cs
- SQLInt64.cs
- Label.cs
- SubpageParagraph.cs
- XmlSchemaObjectTable.cs
- RecordManager.cs
- DirectoryNotFoundException.cs
- GetPageCompletedEventArgs.cs
- WebServiceMethodData.cs
- UrlPath.cs
- SmiSettersStream.cs
- WebZone.cs
- DesignerView.Commands.cs
- DataServiceExpressionVisitor.cs
- WebPartDeleteVerb.cs
- Double.cs
- webeventbuffer.cs
- BitmapEffectInput.cs
- TextStore.cs
- ConsoleEntryPoint.cs
- ComplexPropertyEntry.cs
- CustomDictionarySources.cs
- IndependentlyAnimatedPropertyMetadata.cs
- X509ChainElement.cs
- CryptographicAttribute.cs
- JavascriptCallbackBehaviorAttribute.cs
- XmlReader.cs
- PartitionResolver.cs
- SettingsBindableAttribute.cs
- LockedAssemblyCache.cs
- ToolboxBitmapAttribute.cs
- NameValueConfigurationCollection.cs
- KeyboardDevice.cs
- DiscoveryDocumentReference.cs
- PaintEvent.cs
- DesignBinding.cs
- ComponentEditorPage.cs
- ActivityExecutorDelegateInfo.cs
- UserControl.cs
- _ContextAwareResult.cs
- TrackingProfileCache.cs
- RestHandler.cs
- RecordManager.cs
- RegexCode.cs
- CustomTypeDescriptor.cs
- DataServiceProcessingPipeline.cs
- PrintingPermission.cs
- HMACSHA512.cs
- JobDuplex.cs
- ToolBarTray.cs
- TypeDependencyAttribute.cs
- MetaDataInfo.cs
- ServiceOperationListItem.cs
- AttachedPropertyBrowsableAttribute.cs
- Random.cs
- HtmlHistory.cs
- NativeCppClassAttribute.cs
- ParameterReplacerVisitor.cs
- PropertyValueChangedEvent.cs
- EventRouteFactory.cs
- DesignerDataColumn.cs
- ToolboxComponentsCreatingEventArgs.cs
- DisplayNameAttribute.cs
- DeviceSpecificDialogCachedState.cs
- ZoneLinkButton.cs
- CleanUpVirtualizedItemEventArgs.cs
- MergePropertyDescriptor.cs
- PreservationFileReader.cs
- SelectionBorderGlyph.cs
- TrackPointCollection.cs
- ObjectDataSourceFilteringEventArgs.cs
- ReferenceEqualityComparer.cs
- WebDescriptionAttribute.cs
- TypeConvertions.cs
- BitmapEffect.cs
- ObjectTypeMapping.cs
- XPathNodePointer.cs