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
- FormattedText.cs
- ForEachAction.cs
- OdbcException.cs
- ConfigurationPropertyCollection.cs
- infer.cs
- HttpListenerRequest.cs
- DtdParser.cs
- Membership.cs
- AuthenticationService.cs
- WebPartEventArgs.cs
- TextBoxBase.cs
- Debugger.cs
- SearchExpression.cs
- StringPropertyBuilder.cs
- TreeChangeInfo.cs
- NavigationCommands.cs
- WebRequestModuleElement.cs
- TextViewElement.cs
- ImmutableAssemblyCacheEntry.cs
- HttpChannelHelpers.cs
- EncryptedPackage.cs
- StoreContentChangedEventArgs.cs
- WinFormsSecurity.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- ManifestSignedXml.cs
- WebEventCodes.cs
- xml.cs
- SqlBuilder.cs
- PublishLicense.cs
- ComponentSerializationService.cs
- Int16Storage.cs
- StatusBarAutomationPeer.cs
- FormsAuthentication.cs
- TextServicesManager.cs
- DisplayMemberTemplateSelector.cs
- EnglishPluralizationService.cs
- SvcMapFileLoader.cs
- HttpServerChannel.cs
- NumericUpDownAccelerationCollection.cs
- Button.cs
- CodeSnippetExpression.cs
- LayoutEditorPart.cs
- Activity.cs
- PackageDigitalSignatureManager.cs
- IsolatedStorageException.cs
- DataGridViewColumn.cs
- FileDialogCustomPlacesCollection.cs
- XPathException.cs
- StackBuilderSink.cs
- ChildTable.cs
- JsonEnumDataContract.cs
- mediaeventshelper.cs
- ExecutionPropertyManager.cs
- XmlLoader.cs
- ItemsChangedEventArgs.cs
- DrawingContextDrawingContextWalker.cs
- HtmlSelect.cs
- JsonReader.cs
- RepeaterItemEventArgs.cs
- EpmAttributeNameBuilder.cs
- CheckBoxFlatAdapter.cs
- StartUpEventArgs.cs
- KnownBoxes.cs
- PermissionSet.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- FrameworkName.cs
- DocumentSequence.cs
- AssociatedControlConverter.cs
- Unit.cs
- SurrogateEncoder.cs
- MenuBindingsEditor.cs
- PlacementWorkspace.cs
- SimpleTypeResolver.cs
- UnsafeNativeMethods.cs
- XmlEventCache.cs
- PrivateFontCollection.cs
- RowCache.cs
- CFStream.cs
- Enum.cs
- SQLDecimal.cs
- SafeRightsManagementQueryHandle.cs
- LayeredChannelListener.cs
- HierarchicalDataBoundControlAdapter.cs
- IssuanceLicense.cs
- DesigntimeLicenseContextSerializer.cs
- panel.cs
- NameTable.cs
- DynamicRouteExpression.cs
- ConnectionProviderAttribute.cs
- Thumb.cs
- WaitHandle.cs
- BaseAsyncResult.cs
- ParseHttpDate.cs
- ApplicationBuildProvider.cs
- DataPagerFieldCommandEventArgs.cs
- SmiConnection.cs
- FormViewModeEventArgs.cs
- QilXmlWriter.cs
- FormattedText.cs
- CounterSet.cs