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
- Model3DCollection.cs
- ListItemCollection.cs
- BStrWrapper.cs
- PropertyCollection.cs
- ClientConfigPaths.cs
- ActivitySurrogateSelector.cs
- Win32KeyboardDevice.cs
- WrapPanel.cs
- EncoderParameters.cs
- StatusBarPanelClickEvent.cs
- TabPanel.cs
- ToolConsole.cs
- DataErrorValidationRule.cs
- Pool.cs
- DataStorage.cs
- RegionIterator.cs
- httpstaticobjectscollection.cs
- ObjectQueryState.cs
- MethodBody.cs
- Form.cs
- EntityProviderFactory.cs
- TextElementCollection.cs
- QuarticEase.cs
- NetCodeGroup.cs
- ChannelFactory.cs
- Confirm.cs
- MultipartContentParser.cs
- ControllableStoryboardAction.cs
- BitmapEffectDrawing.cs
- FixedTextSelectionProcessor.cs
- Converter.cs
- Helper.cs
- LocationUpdates.cs
- Matrix.cs
- SafeArrayRankMismatchException.cs
- SessionPageStateSection.cs
- Events.cs
- SmtpReplyReader.cs
- StylusPoint.cs
- RemotingConfiguration.cs
- mactripleDES.cs
- XmlTextAttribute.cs
- ElasticEase.cs
- DataPagerFieldCollection.cs
- AddInProcess.cs
- DataGridViewBand.cs
- DiscoveryExceptionDictionary.cs
- ADMembershipProvider.cs
- SignedInfo.cs
- CollectionBase.cs
- EntityUtil.cs
- FixedElement.cs
- SuspendDesigner.cs
- XmlDocument.cs
- JpegBitmapEncoder.cs
- RuleSettings.cs
- ContentIterators.cs
- PopOutPanel.cs
- ResourcePermissionBase.cs
- StateMachineExecutionState.cs
- TabItemAutomationPeer.cs
- ApplicationDirectory.cs
- OracleRowUpdatingEventArgs.cs
- OdbcConnectionStringbuilder.cs
- NetworkStream.cs
- PreviewPrintController.cs
- DataGridCommandEventArgs.cs
- ScriptBehaviorDescriptor.cs
- UnicodeEncoding.cs
- NetworkCredential.cs
- DateTimeConverter2.cs
- ThousandthOfEmRealPoints.cs
- MenuCommandsChangedEventArgs.cs
- ScrollProperties.cs
- AutomationIdentifierGuids.cs
- ToolStripPanel.cs
- ExtractorMetadata.cs
- DBBindings.cs
- PagerSettings.cs
- SqlTopReducer.cs
- Memoizer.cs
- NativeConfigurationLoader.cs
- ExpressionBuilderContext.cs
- EntityViewGenerationConstants.cs
- HitTestParameters3D.cs
- IMembershipProvider.cs
- nulltextnavigator.cs
- keycontainerpermission.cs
- DialogDivider.cs
- SyntaxCheck.cs
- PngBitmapDecoder.cs
- PerfService.cs
- DataBindingList.cs
- BypassElementCollection.cs
- ObjRef.cs
- ResourceDescriptionAttribute.cs
- ToolStripSeparatorRenderEventArgs.cs
- StringValueSerializer.cs
- VectorAnimationBase.cs
- AxHost.cs