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
- Zone.cs
- BindingEditor.xaml.cs
- ProgressBar.cs
- RemoteCryptoDecryptRequest.cs
- DelegatedStream.cs
- XmlSchemaAnnotation.cs
- CacheHelper.cs
- TableRowCollection.cs
- X509Certificate2.cs
- XmlSiteMapProvider.cs
- ChannelServices.cs
- SoapExtensionImporter.cs
- BitmapData.cs
- BinHexEncoder.cs
- QilLoop.cs
- HeaderCollection.cs
- ComponentRenameEvent.cs
- Matrix3DStack.cs
- Delegate.cs
- SecureStringHasher.cs
- ThreadStartException.cs
- ContextMarshalException.cs
- ResponseStream.cs
- ListItemCollection.cs
- MasterPageParser.cs
- AssociatedControlConverter.cs
- CompoundFileStreamReference.cs
- ReadOnlyDataSource.cs
- VScrollBar.cs
- Point3DAnimationBase.cs
- EventSinkActivity.cs
- CompareValidator.cs
- HttpCookiesSection.cs
- ButtonField.cs
- ThemeDictionaryExtension.cs
- LogEntryHeaderDeserializer.cs
- BitConverter.cs
- ObjectDataSourceFilteringEventArgs.cs
- CustomAssemblyResolver.cs
- QuaternionIndependentAnimationStorage.cs
- GlyphsSerializer.cs
- Composition.cs
- DataGridColumnCollection.cs
- Rotation3DAnimationBase.cs
- PageAsyncTask.cs
- WindowInteropHelper.cs
- ExtendedPropertyCollection.cs
- TabOrder.cs
- ObjectToModelValueConverter.cs
- Empty.cs
- ReferentialConstraint.cs
- PipelineModuleStepContainer.cs
- DataGridTable.cs
- AccessibilityHelperForVista.cs
- ValidationSettings.cs
- remotingproxy.cs
- CommandSet.cs
- DllNotFoundException.cs
- XmlNotation.cs
- DataGridViewColumnConverter.cs
- DateTimeConstantAttribute.cs
- XmlHelper.cs
- MessageDirection.cs
- MaskedTextBoxTextEditor.cs
- ProtectedConfigurationSection.cs
- HWStack.cs
- FlowLayoutPanel.cs
- AppSettingsExpressionBuilder.cs
- GenericAuthenticationEventArgs.cs
- CodeTypeReferenceExpression.cs
- MatrixStack.cs
- CaseInsensitiveHashCodeProvider.cs
- FileLevelControlBuilderAttribute.cs
- SerializationInfoEnumerator.cs
- TextEditorTyping.cs
- WebPageTraceListener.cs
- StorageAssociationTypeMapping.cs
- HttpCapabilitiesBase.cs
- StaticFileHandler.cs
- OuterGlowBitmapEffect.cs
- AuthorizationRuleCollection.cs
- EntityDataSourceContainerNameConverter.cs
- ControlBindingsConverter.cs
- TransformCryptoHandle.cs
- PartitionedDataSource.cs
- NonPrimarySelectionGlyph.cs
- ProtocolsConfigurationEntry.cs
- CustomErrorsSectionWrapper.cs
- SqlConnectionPoolProviderInfo.cs
- FocusTracker.cs
- ApplicationFileCodeDomTreeGenerator.cs
- SettingsPropertyIsReadOnlyException.cs
- Scripts.cs
- BitmapScalingModeValidation.cs
- GeneralTransform3DTo2D.cs
- Int64Animation.cs
- LinqDataView.cs
- DoWorkEventArgs.cs
- CodeGotoStatement.cs
- ScriptMethodAttribute.cs