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
- IndependentAnimationStorage.cs
- DiagnosticsConfiguration.cs
- SequentialWorkflowHeaderFooter.cs
- PackWebRequestFactory.cs
- DelegatingHeader.cs
- AgileSafeNativeMemoryHandle.cs
- InstalledVoice.cs
- SoundPlayer.cs
- ProcessModuleCollection.cs
- SqlInternalConnectionSmi.cs
- SqlDataReaderSmi.cs
- __Error.cs
- HtmlTable.cs
- CorrelationManager.cs
- CommandManager.cs
- WebPartConnectionsCancelVerb.cs
- WorkflowService.cs
- Executor.cs
- MD5CryptoServiceProvider.cs
- AnimationException.cs
- AudioStateChangedEventArgs.cs
- ListBox.cs
- HtmlInputControl.cs
- WebSysDefaultValueAttribute.cs
- _OverlappedAsyncResult.cs
- SByteConverter.cs
- _TimerThread.cs
- ResizeGrip.cs
- EventListenerClientSide.cs
- CqlErrorHelper.cs
- DataPagerCommandEventArgs.cs
- XmlQueryCardinality.cs
- WindowsFormsSectionHandler.cs
- DetailsViewRow.cs
- HwndHost.cs
- InvalidOleVariantTypeException.cs
- SqlBooleanizer.cs
- HtmlForm.cs
- ArrayItemValue.cs
- CommandID.cs
- HtmlForm.cs
- _DisconnectOverlappedAsyncResult.cs
- MissingMethodException.cs
- DataTableNewRowEvent.cs
- GeneralTransform.cs
- DataGridViewColumnConverter.cs
- ListenerElementsCollection.cs
- MenuBase.cs
- ReflectionTypeLoadException.cs
- AssemblyResourceLoader.cs
- RolePrincipal.cs
- xmlglyphRunInfo.cs
- CaretElement.cs
- XamlStream.cs
- connectionpool.cs
- TypefaceMetricsCache.cs
- RowUpdatedEventArgs.cs
- IHttpResponseInternal.cs
- KeyValuePair.cs
- InheritanceAttribute.cs
- TypeHelper.cs
- dbdatarecord.cs
- ErrorRuntimeConfig.cs
- Grant.cs
- SchemaImporterExtensionsSection.cs
- EntityDataSourceMemberPath.cs
- NameValueConfigurationElement.cs
- SecurityContext.cs
- AssociationEndMember.cs
- Int32Animation.cs
- FlowDocumentView.cs
- ClassHandlersStore.cs
- AndMessageFilter.cs
- UrlMappingsSection.cs
- Tokenizer.cs
- WindowsBrush.cs
- ScrollChangedEventArgs.cs
- PageThemeParser.cs
- TemplateControlCodeDomTreeGenerator.cs
- OrderedDictionary.cs
- TextTreeRootNode.cs
- COM2Enum.cs
- GeneralTransform.cs
- TypeSystem.cs
- MetadataCacheItem.cs
- WinFormsSecurity.cs
- MULTI_QI.cs
- LabelEditEvent.cs
- LinqDataSourceValidationException.cs
- ServerTooBusyException.cs
- MatcherBuilder.cs
- Transactions.cs
- EdmItemCollection.cs
- ConfigXmlReader.cs
- TextModifier.cs
- Profiler.cs
- DateTime.cs
- ResolvedKeyFrameEntry.cs
- HtmlImage.cs
- GradientStop.cs