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
- RecommendedAsConfigurableAttribute.cs
- CheckBoxList.cs
- Vector.cs
- CallbackHandler.cs
- DictionaryManager.cs
- RecordBuilder.cs
- DesignObjectWrapper.cs
- CodeMemberMethod.cs
- ObjectContext.cs
- Visitor.cs
- Geometry.cs
- PeerNearMe.cs
- TreeView.cs
- VBIdentifierDesigner.xaml.cs
- XmlSchemaAttributeGroupRef.cs
- MouseGestureValueSerializer.cs
- SecurityManager.cs
- Solver.cs
- EditorPartCollection.cs
- DataGridViewTextBoxCell.cs
- DPAPIProtectedConfigurationProvider.cs
- BaseParser.cs
- SmtpCommands.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- ValidationService.cs
- XmlMtomReader.cs
- DataBinding.cs
- XamlTemplateSerializer.cs
- SqlDataSourceCache.cs
- TypeConstant.cs
- X509Chain.cs
- MonthCalendar.cs
- CapabilitiesState.cs
- NotifyIcon.cs
- ViewGenerator.cs
- ButtonColumn.cs
- TypeDelegator.cs
- InputElement.cs
- XhtmlCssHandler.cs
- DispatcherOperation.cs
- ImageSource.cs
- DeclarationUpdate.cs
- SqlNode.cs
- GenericUriParser.cs
- PageAsyncTaskManager.cs
- InterleavedZipPartStream.cs
- DefaultValidator.cs
- WCFServiceClientProxyGenerator.cs
- UInt32Storage.cs
- PeerCustomResolverSettings.cs
- httpapplicationstate.cs
- BinaryObjectInfo.cs
- base64Transforms.cs
- OleDbStruct.cs
- SafeArrayTypeMismatchException.cs
- WebCategoryAttribute.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- MediaTimeline.cs
- LayoutSettings.cs
- PartialCachingControl.cs
- PropertyTabAttribute.cs
- MobileControlsSectionHelper.cs
- StylusPointCollection.cs
- Utils.cs
- Rect3D.cs
- MemberAssignmentAnalysis.cs
- ThaiBuddhistCalendar.cs
- FormsAuthenticationModule.cs
- DirectoryObjectSecurity.cs
- MetaColumn.cs
- HorizontalAlignConverter.cs
- GlyphingCache.cs
- CategoryEditor.cs
- WebPartExportVerb.cs
- CodeCompiler.cs
- DataGridViewComboBoxCell.cs
- SuppressMessageAttribute.cs
- OutgoingWebResponseContext.cs
- ThreadPoolTaskScheduler.cs
- HttpContextBase.cs
- DataGridViewColumnConverter.cs
- ParameterReplacerVisitor.cs
- SolidColorBrush.cs
- DoubleLink.cs
- CaretElement.cs
- ExtractorMetadata.cs
- RepeatButtonAutomationPeer.cs
- DataGridColumn.cs
- newitemfactory.cs
- DispatcherEventArgs.cs
- IPAddress.cs
- SecurityTokenParametersEnumerable.cs
- SqlCacheDependencyDatabase.cs
- RegexParser.cs
- SqlGatherConsumedAliases.cs
- BatchWriter.cs
- XomlDesignerLoader.cs
- ResourcePermissionBase.cs
- StaticTextPointer.cs
- ValueType.cs