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
- PerfService.cs
- FixedLineResult.cs
- ListParagraph.cs
- DirectoryGroupQuery.cs
- ProcessModelSection.cs
- TokenizerHelper.cs
- Localizer.cs
- ItemCollection.cs
- StylusDownEventArgs.cs
- LineInfo.cs
- HtmlHistory.cs
- WebServiceParameterData.cs
- RepeatInfo.cs
- ValueUtilsSmi.cs
- IdnMapping.cs
- SchemaImporterExtensionElementCollection.cs
- ChangePassword.cs
- KnownTypes.cs
- PipelineModuleStepContainer.cs
- Stroke.cs
- ClientCultureInfo.cs
- DataTableReader.cs
- GenericRootAutomationPeer.cs
- ExpressionNormalizer.cs
- ProxyWebPartManager.cs
- DataTableMappingCollection.cs
- GlyphRun.cs
- RawStylusActions.cs
- Vars.cs
- hresults.cs
- ExpressionCopier.cs
- InstanceKey.cs
- DataGridViewTextBoxCell.cs
- CustomWebEventKey.cs
- SortedList.cs
- ChangeNode.cs
- DataObjectEventArgs.cs
- DocumentPageView.cs
- AffineTransform3D.cs
- ModelItemCollection.cs
- TraceRecord.cs
- SqlReorderer.cs
- DrawItemEvent.cs
- StorageMappingItemCollection.cs
- ButtonBaseAutomationPeer.cs
- XmlLangPropertyAttribute.cs
- Compiler.cs
- FrameworkTemplate.cs
- InvokeMethod.cs
- securestring.cs
- _BasicClient.cs
- Roles.cs
- ClientSponsor.cs
- XmlTextReaderImpl.cs
- KeyValuePair.cs
- Utils.cs
- AndMessageFilter.cs
- XmlWrappingWriter.cs
- BrushConverter.cs
- BasicExpressionVisitor.cs
- _NtlmClient.cs
- PaintValueEventArgs.cs
- DesignerView.Commands.cs
- SqlCommandSet.cs
- DbXmlEnabledProviderManifest.cs
- DebugView.cs
- ClassHandlersStore.cs
- TextServicesCompartmentEventSink.cs
- DispatcherTimer.cs
- MessageFormatterConverter.cs
- FormViewUpdatedEventArgs.cs
- BamlReader.cs
- PrintingPermission.cs
- _DomainName.cs
- VirtualDirectoryMappingCollection.cs
- SchemaCollectionPreprocessor.cs
- TemplateDefinition.cs
- WindowsHyperlink.cs
- SemaphoreSecurity.cs
- LogWriteRestartAreaAsyncResult.cs
- ControlValuePropertyAttribute.cs
- TypeSchema.cs
- WebServiceParameterData.cs
- CategoryNameCollection.cs
- QueryOperationResponseOfT.cs
- CharKeyFrameCollection.cs
- IndependentlyAnimatedPropertyMetadata.cs
- RegionIterator.cs
- WebPartChrome.cs
- Int32AnimationUsingKeyFrames.cs
- QueryPageSettingsEventArgs.cs
- DataGridViewComboBoxCell.cs
- RemoteEndpointMessageProperty.cs
- VariableExpressionConverter.cs
- ArglessEventHandlerProxy.cs
- DesignerToolStripControlHost.cs
- ImageFormat.cs
- MessageTransmitTraceRecord.cs
- WindowProviderWrapper.cs
- AuthenticationSection.cs