Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / Win32Providers / MS / Internal / AutomationProxies / WindowsListViewGroupSubsetLink.cs / 1305600 / WindowsListViewGroupSubsetLink.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Win32 ListViewGroupSubsetLink proxy // // //--------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Windows.Automation; using System.Windows.Automation.Provider; using System.Runtime.InteropServices; using System.Windows; using MS.Win32; namespace MS.Internal.AutomationProxies { //----------------------------------------------------- // // ListViewGroupSubsetLink // //----------------------------------------------------- // Proxy for List view Group Subset Link class ListViewGroupSubsetLink: ProxySimple, IInvokeProvider { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- #region Constructor internal ListViewGroupSubsetLink (IntPtr hwnd, ProxyFragment parent, int item, int groupId) : base(hwnd, parent, item) { _cControlType = ControlType.Button; _sAutomationId = "ListviewGroupSubsetLink" + groupId; // This string is a non-localizable string _groupId = groupId; _fIsKeyboardFocusable = true; } #endregion Constructor //------------------------------------------------------ // // Pattern Implementation // //------------------------------------------------------ #region ProxySimple Interface // Returns a pattern interface if supported. internal override object GetPatternProvider (AutomationPattern iid) { if (iid == InvokePattern.Pattern) { return this; } return null; } // Gets the bounding rectangle for this element internal unsafe override Rect BoundingRectangle { get { NativeMethods.Win32Rect rect = new NativeMethods.Win32Rect(); rect.top = NativeMethods.LVGGR_SUBSETLINK; XSendMessage.XSend(_hwnd, NativeMethods.LVM_GETGROUPRECT, new IntPtr(0), new IntPtr(&rect), Marshal.SizeOf(rect.GetType())); Misc.MapWindowPoints(_hwnd, IntPtr.Zero, ref rect, 2); return rect.ToRect(false); } } // Is focus set to the specified item protected override bool IsFocused () { NativeMethods.LVGROUP_V6 groupInfo = new NativeMethods.LVGROUP_V6(); groupInfo.Init(Marshal.SizeOf(typeof(NativeMethods.LVGROUP_V6))); groupInfo.iGroupID = _groupId; groupInfo.mask = NativeMethods.LVGF_STATE; groupInfo.stateMask = NativeMethods.LVGS_SUBSETLINKFOCUSED; // Note: return code of GetGroupInfo() is not reliable. XSendMessage.GetGroupInfo(_hwnd, ref groupInfo); // ignore return code. return (groupInfo.state & NativeMethods.LVGS_SUBSETLINKFOCUSED) != 0; } //Gets the localized name internal override string LocalizedName { get { NativeMethods.LVGROUP_V6 group = new NativeMethods.LVGROUP_V6(); group.Init(Marshal.SizeOf(typeof(NativeMethods.LVGROUP_V6))); group.iGroupID = _groupId; group.cchSubsetTitle= Misc.MaxLengthNameProperty; return XSendMessage.GetItemText(_hwnd, group, NativeMethods.LVGF_SUBSET); } } #endregion ProxySimple Interface #region Invoke Pattern void IInvokeProvider.Invoke () { NativeMethods.Win32Point pt; if (GetClickablePoint(out pt, false)) { Misc.MouseClick(pt.x, pt.y); } } #endregion Invoke Pattern //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields // The group id this link belongs to private int _groupId; #endregion Private Fields } } // 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: Win32 ListViewGroupSubsetLink proxy // // //--------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Windows.Automation; using System.Windows.Automation.Provider; using System.Runtime.InteropServices; using System.Windows; using MS.Win32; namespace MS.Internal.AutomationProxies { //----------------------------------------------------- // // ListViewGroupSubsetLink // //----------------------------------------------------- // Proxy for List view Group Subset Link class ListViewGroupSubsetLink: ProxySimple, IInvokeProvider { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- #region Constructor internal ListViewGroupSubsetLink (IntPtr hwnd, ProxyFragment parent, int item, int groupId) : base(hwnd, parent, item) { _cControlType = ControlType.Button; _sAutomationId = "ListviewGroupSubsetLink" + groupId; // This string is a non-localizable string _groupId = groupId; _fIsKeyboardFocusable = true; } #endregion Constructor //------------------------------------------------------ // // Pattern Implementation // //------------------------------------------------------ #region ProxySimple Interface // Returns a pattern interface if supported. internal override object GetPatternProvider (AutomationPattern iid) { if (iid == InvokePattern.Pattern) { return this; } return null; } // Gets the bounding rectangle for this element internal unsafe override Rect BoundingRectangle { get { NativeMethods.Win32Rect rect = new NativeMethods.Win32Rect(); rect.top = NativeMethods.LVGGR_SUBSETLINK; XSendMessage.XSend(_hwnd, NativeMethods.LVM_GETGROUPRECT, new IntPtr(0), new IntPtr(&rect), Marshal.SizeOf(rect.GetType())); Misc.MapWindowPoints(_hwnd, IntPtr.Zero, ref rect, 2); return rect.ToRect(false); } } // Is focus set to the specified item protected override bool IsFocused () { NativeMethods.LVGROUP_V6 groupInfo = new NativeMethods.LVGROUP_V6(); groupInfo.Init(Marshal.SizeOf(typeof(NativeMethods.LVGROUP_V6))); groupInfo.iGroupID = _groupId; groupInfo.mask = NativeMethods.LVGF_STATE; groupInfo.stateMask = NativeMethods.LVGS_SUBSETLINKFOCUSED; // Note: return code of GetGroupInfo() is not reliable. XSendMessage.GetGroupInfo(_hwnd, ref groupInfo); // ignore return code. return (groupInfo.state & NativeMethods.LVGS_SUBSETLINKFOCUSED) != 0; } //Gets the localized name internal override string LocalizedName { get { NativeMethods.LVGROUP_V6 group = new NativeMethods.LVGROUP_V6(); group.Init(Marshal.SizeOf(typeof(NativeMethods.LVGROUP_V6))); group.iGroupID = _groupId; group.cchSubsetTitle= Misc.MaxLengthNameProperty; return XSendMessage.GetItemText(_hwnd, group, NativeMethods.LVGF_SUBSET); } } #endregion ProxySimple Interface #region Invoke Pattern void IInvokeProvider.Invoke () { NativeMethods.Win32Point pt; if (GetClickablePoint(out pt, false)) { Misc.MouseClick(pt.x, pt.y); } } #endregion Invoke Pattern //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields // The group id this link belongs to private int _groupId; #endregion Private Fields } } // 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
- DesignSurfaceManager.cs
- TransformGroup.cs
- WebPartVerb.cs
- MsmqHostedTransportManager.cs
- RuleProcessor.cs
- RegexTree.cs
- BrowserDefinitionCollection.cs
- RootDesignerSerializerAttribute.cs
- InkPresenterAutomationPeer.cs
- SmiMetaData.cs
- SHA512Managed.cs
- EdmItemCollection.OcAssemblyCache.cs
- CryptoStream.cs
- ConsoleCancelEventArgs.cs
- AjaxFrameworkAssemblyAttribute.cs
- NamespaceEmitter.cs
- ImageAutomationPeer.cs
- FormsAuthenticationModule.cs
- SimpleRecyclingCache.cs
- QueryPageSettingsEventArgs.cs
- XmlSchemaComplexContent.cs
- TextOnlyOutput.cs
- PrintDialogDesigner.cs
- BamlTreeNode.cs
- SchemaTypeEmitter.cs
- EventData.cs
- DataObject.cs
- NameNode.cs
- IOThreadScheduler.cs
- DbParameterHelper.cs
- CustomExpressionEventArgs.cs
- FileDialogCustomPlace.cs
- WebPartCatalogCloseVerb.cs
- Win32Exception.cs
- PrintDialog.cs
- QuaternionAnimation.cs
- TypefaceMetricsCache.cs
- BitmapFrameEncode.cs
- RemotingSurrogateSelector.cs
- ApplicationContext.cs
- Token.cs
- SecurityContextSecurityToken.cs
- Type.cs
- ZipIOModeEnforcingStream.cs
- AgileSafeNativeMemoryHandle.cs
- WebPartConnectionsCloseVerb.cs
- EmptyEnumerator.cs
- Type.cs
- GeometryDrawing.cs
- RequiredFieldValidator.cs
- PassportPrincipal.cs
- BitStream.cs
- ApplyImportsAction.cs
- PropertyInfoSet.cs
- HtmlTitle.cs
- ReadOnlyNameValueCollection.cs
- TypeBuilderInstantiation.cs
- Route.cs
- VerificationException.cs
- WizardSideBarListControlItemEventArgs.cs
- Win32KeyboardDevice.cs
- ActivityWithResultValueSerializer.cs
- ContentElementCollection.cs
- FilterableData.cs
- EntityDataReader.cs
- XmlDataImplementation.cs
- DoubleAnimationUsingPath.cs
- RegexReplacement.cs
- MenuCommands.cs
- BackStopAuthenticationModule.cs
- __Error.cs
- EnumerableRowCollectionExtensions.cs
- UIInitializationException.cs
- TransportSecurityProtocol.cs
- DefaultDialogButtons.cs
- MappedMetaModel.cs
- ForceCopyBuildProvider.cs
- WhiteSpaceTrimStringConverter.cs
- ImageInfo.cs
- RIPEMD160Managed.cs
- LinkTarget.cs
- BinaryFormatterSinks.cs
- TextBoxRenderer.cs
- MailMessageEventArgs.cs
- DataGridPageChangedEventArgs.cs
- UnsafeMethods.cs
- AngleUtil.cs
- EnumUnknown.cs
- InitiatorServiceModelSecurityTokenRequirement.cs
- Animatable.cs
- ICollection.cs
- StringPropertyBuilder.cs
- AutomationPatternInfo.cs
- Hashtable.cs
- PropertyInformationCollection.cs
- DoubleConverter.cs
- ProjectionCamera.cs
- X509KeyIdentifierClauseType.cs
- OracleBoolean.cs
- AppDomainManager.cs