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
- SettingsProperty.cs
- InstanceData.cs
- DebugView.cs
- Journal.cs
- FormatterServices.cs
- AnimatedTypeHelpers.cs
- RangeValidator.cs
- ConnectionPointGlyph.cs
- InkPresenterAutomationPeer.cs
- MarshalDirectiveException.cs
- XmlSchemaAnyAttribute.cs
- BooleanConverter.cs
- TabItemWrapperAutomationPeer.cs
- Simplifier.cs
- ICollection.cs
- TableLayoutCellPaintEventArgs.cs
- AsymmetricSignatureFormatter.cs
- InfoCardTraceRecord.cs
- basenumberconverter.cs
- RankException.cs
- TextRenderingModeValidation.cs
- NoneExcludedImageIndexConverter.cs
- XPathException.cs
- securestring.cs
- FormatConvertedBitmap.cs
- TextEditorContextMenu.cs
- PointConverter.cs
- PropertyRecord.cs
- TextDecorationCollection.cs
- Model3DGroup.cs
- XmlComplianceUtil.cs
- OpCellTreeNode.cs
- RepeatInfo.cs
- ServicePoint.cs
- CompiledScopeCriteria.cs
- RecognizerStateChangedEventArgs.cs
- ScriptControlManager.cs
- RichTextBoxConstants.cs
- UpdatePanel.cs
- InkCollectionBehavior.cs
- LeafCellTreeNode.cs
- GlobalEventManager.cs
- DataBindingCollection.cs
- XmlEncodedRawTextWriter.cs
- ClientUtils.cs
- EntityViewGenerationAttribute.cs
- Margins.cs
- Mapping.cs
- BamlTreeNode.cs
- WebPartEditorApplyVerb.cs
- DiffuseMaterial.cs
- GlyphRunDrawing.cs
- LabelEditEvent.cs
- XmlElement.cs
- SymmetricCryptoHandle.cs
- DesignSurfaceCollection.cs
- CategoryAttribute.cs
- ConnectionStringsExpressionBuilder.cs
- UserPrincipalNameElement.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- UnsafeNetInfoNativeMethods.cs
- TemplateEditingFrame.cs
- WindowsPrincipal.cs
- CodeValidator.cs
- DataListCommandEventArgs.cs
- XmlUnspecifiedAttribute.cs
- ExpressionTable.cs
- TimeSpanConverter.cs
- TransformGroup.cs
- QilXmlReader.cs
- AesManaged.cs
- XmlQualifiedNameTest.cs
- InlinedAggregationOperatorEnumerator.cs
- CustomServiceCredentials.cs
- Transform3D.cs
- Matrix3D.cs
- TreeViewCancelEvent.cs
- FtpCachePolicyElement.cs
- ConnectionConsumerAttribute.cs
- processwaithandle.cs
- SchemaSetCompiler.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- CoTaskMemHandle.cs
- CLRBindingWorker.cs
- StreamHelper.cs
- XmlValidatingReader.cs
- MetadataStore.cs
- GenericAuthenticationEventArgs.cs
- JavaScriptObjectDeserializer.cs
- ImageIndexConverter.cs
- XmlDictionaryReader.cs
- HtmlInputButton.cs
- HierarchicalDataSourceDesigner.cs
- _NetworkingPerfCounters.cs
- ConfigurationSectionGroupCollection.cs
- ElementMarkupObject.cs
- UrlRoutingHandler.cs
- DirectoryNotFoundException.cs
- CodeMethodReturnStatement.cs
- BuilderInfo.cs