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
- WebPartActionVerb.cs
- TimelineGroup.cs
- SystemInformation.cs
- IntSumAggregationOperator.cs
- ObjectDataSourceSelectingEventArgs.cs
- ToolboxItemCollection.cs
- SessionStateItemCollection.cs
- FacetValueContainer.cs
- ServiceDescriptionData.cs
- RootBrowserWindowProxy.cs
- OdbcConnectionFactory.cs
- LambdaCompiler.ControlFlow.cs
- SecurityManager.cs
- StringAnimationUsingKeyFrames.cs
- HttpRuntime.cs
- HtmlTernaryTree.cs
- XmlUrlEditor.cs
- CLSCompliantAttribute.cs
- CellTreeNode.cs
- EditCommandColumn.cs
- ProviderCollection.cs
- ConnectionConsumerAttribute.cs
- DataFormat.cs
- CodeIdentifiers.cs
- ConfigXmlDocument.cs
- Selector.cs
- __ConsoleStream.cs
- Rectangle.cs
- __Error.cs
- DescendentsWalkerBase.cs
- ConsoleTraceListener.cs
- HttpResponseInternalWrapper.cs
- XsltLoader.cs
- UInt16.cs
- RenderingBiasValidation.cs
- ViewPort3D.cs
- RenderOptions.cs
- SdlChannelSink.cs
- DynamicVirtualDiscoSearcher.cs
- DateTimeStorage.cs
- DurableRuntimeValidator.cs
- PairComparer.cs
- TemplateBindingExtensionConverter.cs
- VectorAnimationUsingKeyFrames.cs
- DocumentCollection.cs
- TagPrefixCollection.cs
- PeerToPeerException.cs
- PassportPrincipal.cs
- CanExpandCollapseAllConverter.cs
- WebPartVerbsEventArgs.cs
- TabControlAutomationPeer.cs
- XmlSerializationReader.cs
- HashHelpers.cs
- AssemblyAttributes.cs
- PropertyEntry.cs
- BitmapCodecInfoInternal.cs
- GridViewCellAutomationPeer.cs
- Transform.cs
- Quad.cs
- NativeObjectSecurity.cs
- ContentOnlyMessage.cs
- FormViewInsertedEventArgs.cs
- SlipBehavior.cs
- COM2PropertyDescriptor.cs
- UnsafeNativeMethods.cs
- XmlSchemaAny.cs
- HostProtectionPermission.cs
- FormViewDeleteEventArgs.cs
- NamedPermissionSet.cs
- PermissionListSet.cs
- SafeNativeMethods.cs
- StylusPoint.cs
- SpeechSynthesizer.cs
- DependencyObjectCodeDomSerializer.cs
- ControlCachePolicy.cs
- ReflectionTypeLoadException.cs
- Matrix.cs
- Span.cs
- UIPropertyMetadata.cs
- UshortList2.cs
- GridViewItemAutomationPeer.cs
- Authorization.cs
- AutomationEvent.cs
- InstanceCreationEditor.cs
- SecurityResources.cs
- FormattedTextSymbols.cs
- WindowsAltTab.cs
- OrderPreservingPipeliningMergeHelper.cs
- TextRenderer.cs
- FullTrustAssembly.cs
- WhitespaceRule.cs
- TreeViewItemAutomationPeer.cs
- TabPage.cs
- PageAsyncTask.cs
- SID.cs
- DataGridCellAutomationPeer.cs
- Compiler.cs
- HtmlInputPassword.cs
- keycontainerpermission.cs
- QueryResponse.cs