Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / UIAutomation / 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. //---------------------------------------------------------------------------- // //// 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
- PolyQuadraticBezierSegmentFigureLogic.cs
- ArgumentException.cs
- MouseActionValueSerializer.cs
- MergablePropertyAttribute.cs
- CheckoutException.cs
- ProcessProtocolHandler.cs
- VirtualPathUtility.cs
- PrinterUnitConvert.cs
- XmlSchemaAttributeGroupRef.cs
- StoreItemCollection.cs
- ConcurrentStack.cs
- Dispatcher.cs
- AssemblyAttributesGoHere.cs
- XmlSchemaObject.cs
- BaseProcessor.cs
- UserPersonalizationStateInfo.cs
- OdbcHandle.cs
- HostVisual.cs
- DataGridViewSelectedRowCollection.cs
- FrameworkContentElement.cs
- XmlCharType.cs
- Publisher.cs
- SessionParameter.cs
- ImageListStreamer.cs
- TrustManager.cs
- CompiledIdentityConstraint.cs
- NativeMethods.cs
- LinkLabel.cs
- TraceContextRecord.cs
- XXXInfos.cs
- ToolStripDropDownItemDesigner.cs
- FormsAuthenticationConfiguration.cs
- ImmComposition.cs
- ContainerControl.cs
- EventPrivateKey.cs
- DataGridrowEditEndingEventArgs.cs
- PreviewPrintController.cs
- OutputCacheProfile.cs
- OptimalBreakSession.cs
- RemotingSurrogateSelector.cs
- SelectionRange.cs
- HttpPostProtocolReflector.cs
- MemberPath.cs
- AutomationElementCollection.cs
- TypeToken.cs
- WindowsPen.cs
- WebUtility.cs
- SoapSchemaMember.cs
- GreenMethods.cs
- EntityParameter.cs
- mediapermission.cs
- DataGridState.cs
- wmiprovider.cs
- AuthorizationContext.cs
- RouteTable.cs
- SqlDataReaderSmi.cs
- MarkerProperties.cs
- newinstructionaction.cs
- ListBindingHelper.cs
- ParameterDataSourceExpression.cs
- SoapAttributeOverrides.cs
- CopyNamespacesAction.cs
- CapabilitiesRule.cs
- DeviceContext2.cs
- WindowsContainer.cs
- TableLayoutStyleCollection.cs
- TickBar.cs
- cookie.cs
- Label.cs
- TabControlToolboxItem.cs
- ObjectViewFactory.cs
- ConfigurationValidatorAttribute.cs
- ActivityCodeDomReferenceService.cs
- InteropTrackingRecord.cs
- TypeListConverter.cs
- MessageBox.cs
- MultiBindingExpression.cs
- ClearTypeHintValidation.cs
- TemplateBindingExtension.cs
- XDeferredAxisSource.cs
- RC2CryptoServiceProvider.cs
- SerializationException.cs
- GetPageNumberCompletedEventArgs.cs
- UrlMapping.cs
- TileModeValidation.cs
- TreeNodeStyle.cs
- FacetValues.cs
- WizardStepBase.cs
- TemplatePropertyEntry.cs
- GregorianCalendarHelper.cs
- shaper.cs
- VariableModifiersHelper.cs
- ExpandableObjectConverter.cs
- DependencyPropertyKind.cs
- IsolatedStorageFile.cs
- InputScope.cs
- ContextStaticAttribute.cs
- XmlSchemaCompilationSettings.cs
- WebPartHeaderCloseVerb.cs
- OutArgumentConverter.cs