Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / AccessibleTech / longhorn / Automation / Win32Providers / MS / Internal / AutomationProxies / WindowsListViewGroupSubsetLink.cs / 1 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TimeSpanStorage.cs
- TimelineCollection.cs
- FontDialog.cs
- RoleService.cs
- HyperLinkField.cs
- TextRunTypographyProperties.cs
- ScriptReferenceBase.cs
- TransactionalPackage.cs
- Error.cs
- InternalDispatchObject.cs
- UIElementHelper.cs
- CharacterBuffer.cs
- CodeDirectoryCompiler.cs
- PointIndependentAnimationStorage.cs
- ButtonRenderer.cs
- ZoneLinkButton.cs
- QuaternionAnimationBase.cs
- WebBrowserUriTypeConverter.cs
- ExpressionPrefixAttribute.cs
- HttpFileCollectionWrapper.cs
- AutomationPropertyInfo.cs
- EventSource.cs
- DispatcherEventArgs.cs
- XmlAnyElementAttributes.cs
- XPathAncestorIterator.cs
- ReferenceConverter.cs
- TransportElement.cs
- FrameworkContentElementAutomationPeer.cs
- EUCJPEncoding.cs
- PointAnimation.cs
- AnnotationResource.cs
- DynamicRendererThreadManager.cs
- WindowsBrush.cs
- URIFormatException.cs
- TdsParameterSetter.cs
- EdmComplexPropertyAttribute.cs
- XmlSchemaNotation.cs
- ImageAutomationPeer.cs
- IconBitmapDecoder.cs
- ToggleButtonAutomationPeer.cs
- BitmapEffectDrawingContextWalker.cs
- EditingCommands.cs
- HatchBrush.cs
- LicenseContext.cs
- Privilege.cs
- EngineSite.cs
- MenuBase.cs
- oledbconnectionstring.cs
- ButtonPopupAdapter.cs
- Hex.cs
- OperandQuery.cs
- StyleHelper.cs
- UiaCoreApi.cs
- AuthorizationSection.cs
- TypeForwardedToAttribute.cs
- XmlILAnnotation.cs
- VirtualPathProvider.cs
- TemplatePagerField.cs
- SecureEnvironment.cs
- FormViewUpdateEventArgs.cs
- WebPartAddingEventArgs.cs
- ByteAnimationBase.cs
- CallbackValidatorAttribute.cs
- Int32CollectionConverter.cs
- Win32.cs
- TransformGroup.cs
- SmtpReplyReader.cs
- NativeMethods.cs
- AsymmetricKeyExchangeDeformatter.cs
- DataErrorValidationRule.cs
- HtmlControlPersistable.cs
- SrgsSubset.cs
- X509CertificateStore.cs
- DefaultPrintController.cs
- UnmanagedMemoryAccessor.cs
- ISessionStateStore.cs
- SoapIncludeAttribute.cs
- CloudCollection.cs
- ExceptionTrace.cs
- ShadowGlyph.cs
- DataControlPagerLinkButton.cs
- LogSwitch.cs
- ISCIIEncoding.cs
- COM2EnumConverter.cs
- ListParaClient.cs
- CacheModeConverter.cs
- BooleanToVisibilityConverter.cs
- DispatchWrapper.cs
- SetState.cs
- DiscriminatorMap.cs
- TreeNodeClickEventArgs.cs
- WmlSelectionListAdapter.cs
- EmptyWithCancelationCheckWorkItem.cs
- PartBasedPackageProperties.cs
- ProcessHostConfigUtils.cs
- ColorMap.cs
- MailAddress.cs
- ProfileModule.cs
- DataRelation.cs
- SymLanguageVendor.cs