Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / UIAutomation / Win32Providers / MS / Internal / AutomationProxies / WindowsFormsLinkLabel.cs / 1 / WindowsFormsLinkLabel.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: Windows LinkLabel Proxy
//
// History:
// 07/01/2003 : a-jeanp Created
//---------------------------------------------------------------------------
// PRESHARP: In order to avoid generating warnings about unkown message numbers and unknown pragmas.
#pragma warning disable 1634, 1691
using System;
using System.Collections;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Windows.Automation;
using System.Windows.Automation.Provider;
using Accessibility;
using System.Windows;
using System.Windows.Input;
using MS.Win32;
namespace MS.Internal.AutomationProxies
{
// FormsLink proxy
class FormsLink : ProxyHwnd, IInvokeProvider
{
// -----------------------------------------------------
//
// Construction/destruction
//
// -----------------------------------------------------
#region Constructors
internal FormsLink (IntPtr hwnd, ProxyFragment parent, int item)
: base( hwnd, parent, item)
{
// Set the strings to return properly the properties.
_cControlType = ControlType.Hyperlink;
// support for events
_createOnEvent = new WinEventTracker.ProxyRaiseEvents(RaiseEvents);
}
#endregion Constructors
#region Proxy Create
// Static Create method called by UIAutomation to create this proxy.
internal static IRawElementProviderSimple Create (IntPtr hwnd, int idChild)
{
// Something is wrong if idChild is not zero
if (idChild != 0)
{
System.Diagnostics.Debug.Assert (idChild == 0, "Invalid Child Id, idChild != 0");
throw new ArgumentOutOfRangeException("idChild", idChild, SR.Get(SRID.ShouldBeZero));
}
return new FormsLink(hwnd, null, idChild);
}
// Static Create method called by the event tracker system
internal static void RaiseEvents(IntPtr hwnd, int eventId, object idProp, int idObject, int idChild)
{
if (idObject != NativeMethods.OBJID_VSCROLL && idObject != NativeMethods.OBJID_HSCROLL)
{
ProxySimple wtv = new FormsLink(hwnd, null, idChild);
wtv.DispatchEvents(eventId, idProp, idObject, idChild);
}
}
#endregion Proxy Create
// ------------------------------------------------------
//
// Patterns Implementation
//
// -----------------------------------------------------
#region ProxyHwnd Interface
// Builds a list of Win32 WinEvents to process a UIAutomation Event.
// Param name="idEvent", UIAuotmation event
// Param name="cEvent"out, number of winevent set in the array
// Returns an array of Events to Set. The number of valid entries in this array pass back in cEvent
protected override WinEventTracker.EvtIdProperty[] EventToWinEvent(AutomationEvent idEvent, out int cEvent)
{
if (idEvent == InvokePattern.InvokedEvent)
{
cEvent = 1;
return new WinEventTracker.EvtIdProperty[1] { new WinEventTracker.EvtIdProperty(NativeMethods.EventSystemCaptureEnd, idEvent) };
}
return base.EventToWinEvent(idEvent, out cEvent);
}
#endregion ProxyHwnd Interface
#region ProxySimple Interface
// Returns a pattern interface if supported.
internal override object GetPatternProvider(AutomationPattern iid)
{
return iid == InvokePattern.Pattern ? this : null;
}
// Sets the focus to this item.
internal override bool SetFocus()
{
Misc.SetFocus(_hwnd);
return true;
}
#endregion ProxySimple Interface
#region Invoke Pattern
// Same as clicking on an hyperlink
void IInvokeProvider.Invoke()
{
// Check that button can be clicked.
//
// This state could change anytime.
//
// Make sure that the control is enabled
if (!SafeNativeMethods.IsWindowEnabled(_hwnd))
{
throw new ElementNotEnabledException();
}
if (!SafeNativeMethods.IsWindowVisible(_hwnd))
{
throw new InvalidOperationException(SR.Get(SRID.OperationCannotBePerformed));
}
Misc.SetFocus(_hwnd);
NativeMethods.Win32Point pt = new NativeMethods.Win32Point();
if (GetClickablePoint(out pt, false))
{
Misc.MouseClick(pt.x, pt.y);
}
}
#endregion Invoke Pattern
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: Windows LinkLabel Proxy
//
// History:
// 07/01/2003 : a-jeanp Created
//---------------------------------------------------------------------------
// PRESHARP: In order to avoid generating warnings about unkown message numbers and unknown pragmas.
#pragma warning disable 1634, 1691
using System;
using System.Collections;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Windows.Automation;
using System.Windows.Automation.Provider;
using Accessibility;
using System.Windows;
using System.Windows.Input;
using MS.Win32;
namespace MS.Internal.AutomationProxies
{
// FormsLink proxy
class FormsLink : ProxyHwnd, IInvokeProvider
{
// -----------------------------------------------------
//
// Construction/destruction
//
// -----------------------------------------------------
#region Constructors
internal FormsLink (IntPtr hwnd, ProxyFragment parent, int item)
: base( hwnd, parent, item)
{
// Set the strings to return properly the properties.
_cControlType = ControlType.Hyperlink;
// support for events
_createOnEvent = new WinEventTracker.ProxyRaiseEvents(RaiseEvents);
}
#endregion Constructors
#region Proxy Create
// Static Create method called by UIAutomation to create this proxy.
internal static IRawElementProviderSimple Create (IntPtr hwnd, int idChild)
{
// Something is wrong if idChild is not zero
if (idChild != 0)
{
System.Diagnostics.Debug.Assert (idChild == 0, "Invalid Child Id, idChild != 0");
throw new ArgumentOutOfRangeException("idChild", idChild, SR.Get(SRID.ShouldBeZero));
}
return new FormsLink(hwnd, null, idChild);
}
// Static Create method called by the event tracker system
internal static void RaiseEvents(IntPtr hwnd, int eventId, object idProp, int idObject, int idChild)
{
if (idObject != NativeMethods.OBJID_VSCROLL && idObject != NativeMethods.OBJID_HSCROLL)
{
ProxySimple wtv = new FormsLink(hwnd, null, idChild);
wtv.DispatchEvents(eventId, idProp, idObject, idChild);
}
}
#endregion Proxy Create
// ------------------------------------------------------
//
// Patterns Implementation
//
// -----------------------------------------------------
#region ProxyHwnd Interface
// Builds a list of Win32 WinEvents to process a UIAutomation Event.
// Param name="idEvent", UIAuotmation event
// Param name="cEvent"out, number of winevent set in the array
// Returns an array of Events to Set. The number of valid entries in this array pass back in cEvent
protected override WinEventTracker.EvtIdProperty[] EventToWinEvent(AutomationEvent idEvent, out int cEvent)
{
if (idEvent == InvokePattern.InvokedEvent)
{
cEvent = 1;
return new WinEventTracker.EvtIdProperty[1] { new WinEventTracker.EvtIdProperty(NativeMethods.EventSystemCaptureEnd, idEvent) };
}
return base.EventToWinEvent(idEvent, out cEvent);
}
#endregion ProxyHwnd Interface
#region ProxySimple Interface
// Returns a pattern interface if supported.
internal override object GetPatternProvider(AutomationPattern iid)
{
return iid == InvokePattern.Pattern ? this : null;
}
// Sets the focus to this item.
internal override bool SetFocus()
{
Misc.SetFocus(_hwnd);
return true;
}
#endregion ProxySimple Interface
#region Invoke Pattern
// Same as clicking on an hyperlink
void IInvokeProvider.Invoke()
{
// Check that button can be clicked.
//
// This state could change anytime.
//
// Make sure that the control is enabled
if (!SafeNativeMethods.IsWindowEnabled(_hwnd))
{
throw new ElementNotEnabledException();
}
if (!SafeNativeMethods.IsWindowVisible(_hwnd))
{
throw new InvalidOperationException(SR.Get(SRID.OperationCannotBePerformed));
}
Misc.SetFocus(_hwnd);
NativeMethods.Win32Point pt = new NativeMethods.Win32Point();
if (GetClickablePoint(out pt, false))
{
Misc.MouseClick(pt.x, pt.y);
}
}
#endregion Invoke Pattern
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SineEase.cs
- TemplateBindingExpression.cs
- SrgsItemList.cs
- SqlParameterCollection.cs
- DescendantBaseQuery.cs
- AnnotationResourceChangedEventArgs.cs
- DataServiceContext.cs
- EventSinkActivityDesigner.cs
- SqlTriggerContext.cs
- EditorPartChrome.cs
- TcpWorkerProcess.cs
- ProfileEventArgs.cs
- Simplifier.cs
- MessageVersionConverter.cs
- MarkupWriter.cs
- GlobalProxySelection.cs
- SchemaInfo.cs
- DataGridViewBindingCompleteEventArgs.cs
- AsymmetricAlgorithm.cs
- MetadataPropertyCollection.cs
- ExpandSegment.cs
- RC2.cs
- _NativeSSPI.cs
- XmlSchemaProviderAttribute.cs
- EndpointDiscoveryMetadata.cs
- OracleRowUpdatingEventArgs.cs
- PointF.cs
- NullReferenceException.cs
- FontNamesConverter.cs
- SubpageParagraph.cs
- DataConnectionHelper.cs
- DynamicILGenerator.cs
- ChangeNode.cs
- WeakEventManager.cs
- WindowsAuthenticationEventArgs.cs
- SqlLiftWhereClauses.cs
- XmlSchemaDocumentation.cs
- ManagementNamedValueCollection.cs
- InvalidCastException.cs
- AxHost.cs
- TraceAsyncResult.cs
- ExpressionBuilder.cs
- XmlUTF8TextReader.cs
- PipeStream.cs
- ApplicationTrust.cs
- ImageSourceTypeConverter.cs
- BitmapEditor.cs
- Composition.cs
- ColumnTypeConverter.cs
- IndependentlyAnimatedPropertyMetadata.cs
- WebPartTransformer.cs
- PerfCounterSection.cs
- MasterPageParser.cs
- HwndAppCommandInputProvider.cs
- OdbcParameterCollection.cs
- _IPv6Address.cs
- Axis.cs
- RegisteredScript.cs
- DbFunctionCommandTree.cs
- selecteditemcollection.cs
- HitTestFilterBehavior.cs
- PropertyCollection.cs
- XPathNavigatorKeyComparer.cs
- ImageListUtils.cs
- StatusBarDesigner.cs
- SplitterCancelEvent.cs
- LookupBindingPropertiesAttribute.cs
- RegistrySecurity.cs
- EntitySetBase.cs
- FormViewCommandEventArgs.cs
- XmlSchemaAttributeGroupRef.cs
- RequestStatusBarUpdateEventArgs.cs
- FormsIdentity.cs
- RegexGroupCollection.cs
- GroupItemAutomationPeer.cs
- TypeDescriptor.cs
- GrammarBuilderPhrase.cs
- BasicBrowserDialog.designer.cs
- unsafeIndexingFilterStream.cs
- SystemIPInterfaceStatistics.cs
- PathSegment.cs
- RectConverter.cs
- XmlSerializerAssemblyAttribute.cs
- AnonymousIdentificationModule.cs
- LostFocusEventManager.cs
- ScrollChrome.cs
- CodeExporter.cs
- UrlMappingsSection.cs
- ListItemCollection.cs
- ApplicationFileParser.cs
- GeneralTransform3DTo2D.cs
- UnmanagedHandle.cs
- BinHexDecoder.cs
- ExternalFile.cs
- DelegatingConfigHost.cs
- XmlAutoDetectWriter.cs
- DurableInstanceProvider.cs
- ServicePointManagerElement.cs
- PropertyKey.cs
- AmbientProperties.cs