Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / Win32Providers / MS / Internal / AutomationProxies / WindowsFormsLinkLabel.cs / 1305600 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PathFigure.cs
- _LocalDataStore.cs
- Command.cs
- TimeZoneNotFoundException.cs
- InputReport.cs
- Mappings.cs
- DesignerOptionService.cs
- X509WindowsSecurityToken.cs
- SmiEventSink_Default.cs
- XmlAttributeOverrides.cs
- ScriptResourceInfo.cs
- PackUriHelper.cs
- XsdDateTime.cs
- WinFormsSecurity.cs
- WebPartConnectionsConnectVerb.cs
- Point4D.cs
- BrowserCapabilitiesCodeGenerator.cs
- storepermission.cs
- TableProviderWrapper.cs
- PropertyTab.cs
- HorizontalAlignConverter.cs
- KnownBoxes.cs
- RecognitionResult.cs
- HandlerFactoryWrapper.cs
- GetWinFXPath.cs
- TextFindEngine.cs
- XmlQueryTypeFactory.cs
- OdbcConnectionString.cs
- TextParagraphProperties.cs
- ToolBar.cs
- StyleTypedPropertyAttribute.cs
- CodeDirectionExpression.cs
- AffineTransform3D.cs
- invalidudtexception.cs
- KeyValueSerializer.cs
- StubHelpers.cs
- CallbackCorrelationInitializer.cs
- MimeImporter.cs
- WebPartMenuStyle.cs
- AdPostCacheSubstitution.cs
- DataException.cs
- FontStretch.cs
- LogEntryHeaderDeserializer.cs
- FixedSOMGroup.cs
- UIPermission.cs
- CapacityStreamGeometryContext.cs
- Zone.cs
- MailHeaderInfo.cs
- SQLInt32Storage.cs
- UidManager.cs
- Brush.cs
- GeneratedContractType.cs
- ControlCollection.cs
- NativeMethods.cs
- Code.cs
- ProxyManager.cs
- Calendar.cs
- CalculatedColumn.cs
- DataSourceBooleanViewSchemaConverter.cs
- ServerValidateEventArgs.cs
- GridViewItemAutomationPeer.cs
- PerformanceCounterPermission.cs
- WebPartsPersonalizationAuthorization.cs
- FreezableDefaultValueFactory.cs
- Terminate.cs
- SoapElementAttribute.cs
- ResponseBodyWriter.cs
- BaseParser.cs
- SmiEventSink_DeferedProcessing.cs
- XmlReflectionMember.cs
- PassportAuthenticationEventArgs.cs
- TrackingRecord.cs
- PerformanceCounter.cs
- HttpCachePolicy.cs
- BufferedReadStream.cs
- DataGridViewCellPaintingEventArgs.cs
- SettingsProperty.cs
- TryExpression.cs
- RootBrowserWindowAutomationPeer.cs
- BitSet.cs
- ContextMenuStrip.cs
- PriorityRange.cs
- Reference.cs
- VectorConverter.cs
- SystemIPGlobalStatistics.cs
- FileDialog.cs
- VisualBasicValue.cs
- ThreadStaticAttribute.cs
- CryptoHandle.cs
- GenericIdentity.cs
- OutputCacheSettingsSection.cs
- MsmqTransportSecurity.cs
- BaseDataList.cs
- AppDomainUnloadedException.cs
- AmbientLight.cs
- ColumnHeaderCollectionEditor.cs
- LoggedException.cs
- HistoryEventArgs.cs
- CopyOnWriteList.cs
- UnsafeNativeMethodsCLR.cs