Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- ReadOnlyActivityGlyph.cs
- SiteMapHierarchicalDataSourceView.cs
- MessageHeaderDescription.cs
- ObjectDataSourceDesigner.cs
- SkinBuilder.cs
- CqlParser.cs
- LoginName.cs
- EntityDataSourceStatementEditor.cs
- SplineQuaternionKeyFrame.cs
- SmiRequestExecutor.cs
- SynchronizedDispatch.cs
- rsa.cs
- DropTarget.cs
- EntityPropertyMappingAttribute.cs
- PrintController.cs
- TextModifierScope.cs
- DirectoryObjectSecurity.cs
- XsdBuilder.cs
- WebBrowserEvent.cs
- dataprotectionpermission.cs
- ListBindingHelper.cs
- ProtectedConfigurationProviderCollection.cs
- AssemblyAttributes.cs
- CharAnimationBase.cs
- XmlDocumentSchema.cs
- DeobfuscatingStream.cs
- BooleanExpr.cs
- HMACMD5.cs
- SafeIUnknown.cs
- IIS7UserPrincipal.cs
- ThreadNeutralSemaphore.cs
- Trace.cs
- FlowDocumentReaderAutomationPeer.cs
- TemplateManager.cs
- SystemPens.cs
- WebConfigurationHost.cs
- HtmlControlPersistable.cs
- Timer.cs
- ClientSession.cs
- XPathQilFactory.cs
- FormattedTextSymbols.cs
- GeometryGroup.cs
- EventBuilder.cs
- DataGridTable.cs
- BindingList.cs
- XPathPatternBuilder.cs
- IsolatedStorageFile.cs
- Win32SafeHandles.cs
- TreeViewDesigner.cs
- HostSecurityManager.cs
- Tile.cs
- CheckBoxFlatAdapter.cs
- ListBoxItemWrapperAutomationPeer.cs
- PenThreadWorker.cs
- ClientFormsIdentity.cs
- GridEntry.cs
- Knowncolors.cs
- FrameworkRichTextComposition.cs
- WebPartEditVerb.cs
- ResXResourceWriter.cs
- SQLConvert.cs
- EntityCommandExecutionException.cs
- NamespaceList.cs
- SponsorHelper.cs
- IFlowDocumentViewer.cs
- Base64Encoder.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- MetadataException.cs
- WorkflowService.cs
- FormViewInsertEventArgs.cs
- BufferModesCollection.cs
- AssemblyUtil.cs
- WebRequest.cs
- Int32Rect.cs
- HttpListenerContext.cs
- ConfigurationSchemaErrors.cs
- ExternalFile.cs
- AsnEncodedData.cs
- DefaultPrintController.cs
- ButtonChrome.cs
- MimeWriter.cs
- GeneratedCodeAttribute.cs
- loginstatus.cs
- SiteMapPath.cs
- RegistryKey.cs
- ContainerAction.cs
- XmlSchemas.cs
- DrawingAttributeSerializer.cs
- WebPartDisplayModeEventArgs.cs
- EntityWithKeyStrategy.cs
- ByteKeyFrameCollection.cs
- TypeFieldSchema.cs
- UserThread.cs
- ItemCheckEvent.cs
- InkCanvasInnerCanvas.cs
- SystemWebSectionGroup.cs
- TemplateFactory.cs
- ServiceBehaviorElementCollection.cs
- Buffer.cs
- RegexGroup.cs