Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UriTemplatePathPartiallyEquivalentSet.cs
- SpecularMaterial.cs
- RecognizerBase.cs
- UrlPath.cs
- RequestNavigateEventArgs.cs
- InteropBitmapSource.cs
- TextEditorTyping.cs
- DoubleCollection.cs
- DeferredSelectedIndexReference.cs
- CompositeTypefaceMetrics.cs
- ScriptingRoleServiceSection.cs
- OperationPickerDialog.cs
- CSharpCodeProvider.cs
- InlineCollection.cs
- _NestedMultipleAsyncResult.cs
- UnsettableComboBox.cs
- XPathNavigator.cs
- Splitter.cs
- QueryableFilterUserControl.cs
- TextReader.cs
- UrlPropertyAttribute.cs
- SelectingProviderEventArgs.cs
- CodeVariableReferenceExpression.cs
- connectionpool.cs
- CodeCompiler.cs
- VectorCollectionValueSerializer.cs
- BaseResourcesBuildProvider.cs
- ObjectKeyFrameCollection.cs
- ImageBrush.cs
- MissingMethodException.cs
- OutputCacheProfileCollection.cs
- BitmapEffectInputConnector.cs
- CodeGeneratorOptions.cs
- StringSource.cs
- StateMachineWorkflowInstance.cs
- TemplateControlParser.cs
- XmlQueryStaticData.cs
- Component.cs
- TextElementEnumerator.cs
- MouseDevice.cs
- SingleConverter.cs
- DelegatingHeader.cs
- EventListenerClientSide.cs
- PingOptions.cs
- ClientRuntimeConfig.cs
- BasicKeyConstraint.cs
- safelinkcollection.cs
- Cursor.cs
- TreeNode.cs
- InternalDuplexChannelListener.cs
- TemplateXamlTreeBuilder.cs
- AssemblyBuilder.cs
- CultureTableRecord.cs
- WindowsSolidBrush.cs
- CharacterShapingProperties.cs
- TagPrefixInfo.cs
- QilGeneratorEnv.cs
- InternalSafeNativeMethods.cs
- CompensationTokenData.cs
- cookiecontainer.cs
- SystemWebExtensionsSectionGroup.cs
- DiscreteKeyFrames.cs
- MappingSource.cs
- DataGridViewCellValidatingEventArgs.cs
- DecimalAnimationUsingKeyFrames.cs
- UnsafeNativeMethodsMilCoreApi.cs
- AppSettingsSection.cs
- BooleanConverter.cs
- SpeechUI.cs
- hebrewshape.cs
- ElementUtil.cs
- UnionCodeGroup.cs
- DataBoundControlAdapter.cs
- HighlightComponent.cs
- EntityDataSourceMemberPath.cs
- IChannel.cs
- Merger.cs
- PropertyMappingExceptionEventArgs.cs
- CompiledRegexRunnerFactory.cs
- XmlReturnReader.cs
- HttpProxyCredentialType.cs
- ServicePointManagerElement.cs
- ProgressiveCrcCalculatingStream.cs
- Errors.cs
- SafeMemoryMappedViewHandle.cs
- Translator.cs
- SpecularMaterial.cs
- CLSCompliantAttribute.cs
- TypeSemantics.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- RenderingBiasValidation.cs
- SchemaImporterExtensionElement.cs
- ProfileManager.cs
- ExtenderControl.cs
- XsltFunctions.cs
- FormViewRow.cs
- CodeArrayCreateExpression.cs
- MdiWindowListItemConverter.cs
- IISMapPath.cs
- ObjectDataSourceChooseMethodsPanel.cs