Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / AccessibleTech / longhorn / Automation / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OdbcErrorCollection.cs
- PassportAuthentication.cs
- Fx.cs
- ToolStripControlHost.cs
- ToolStripRendererSwitcher.cs
- DocumentViewerBase.cs
- Stack.cs
- DashStyle.cs
- TemplateControlCodeDomTreeGenerator.cs
- XmlChildEnumerator.cs
- StringExpressionSet.cs
- Frame.cs
- SpinLock.cs
- FreezableDefaultValueFactory.cs
- EntitySetBaseCollection.cs
- BitHelper.cs
- CallbackCorrelationInitializer.cs
- SpellerInterop.cs
- HMACRIPEMD160.cs
- SizeAnimationUsingKeyFrames.cs
- VScrollBar.cs
- ToolStripPanelRenderEventArgs.cs
- Publisher.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- Encoding.cs
- ToolConsole.cs
- UInt16.cs
- TimeIntervalCollection.cs
- wmiprovider.cs
- ListSortDescription.cs
- EpmSourcePathSegment.cs
- KeyInterop.cs
- CompilerParameters.cs
- MatchingStyle.cs
- Stylesheet.cs
- IntPtr.cs
- SystemIPv4InterfaceProperties.cs
- BuildResultCache.cs
- latinshape.cs
- NetMsmqSecurityElement.cs
- CancelEventArgs.cs
- FrameworkElement.cs
- CaseInsensitiveComparer.cs
- SimplePropertyEntry.cs
- SoapWriter.cs
- HttpResponse.cs
- DbConnectionPoolGroupProviderInfo.cs
- WebPartEditorOkVerb.cs
- CardSpacePolicyElement.cs
- Trace.cs
- DataGridViewCellParsingEventArgs.cs
- SynchronizationFilter.cs
- wmiprovider.cs
- WpfSharedXamlSchemaContext.cs
- ProcessModelInfo.cs
- Drawing.cs
- WindowsFormsLinkLabel.cs
- TabControlEvent.cs
- CharacterMetricsDictionary.cs
- DbConnectionStringBuilder.cs
- SmtpReplyReader.cs
- RijndaelManaged.cs
- ProgressPage.cs
- CounterCreationDataCollection.cs
- CreateRefExpr.cs
- LoginUtil.cs
- ParamArrayAttribute.cs
- ExpressionsCollectionConverter.cs
- UnsafeNativeMethods.cs
- SByteConverter.cs
- SvcMapFile.cs
- EntityClassGenerator.cs
- HttpTransportSecurity.cs
- CollectionContainer.cs
- Animatable.cs
- DependencyStoreSurrogate.cs
- AnnouncementInnerClient11.cs
- PolicyImporterElementCollection.cs
- PartitionResolver.cs
- JournalEntryStack.cs
- CriticalExceptions.cs
- XmlWriterTraceListener.cs
- CommandManager.cs
- ImportContext.cs
- Substitution.cs
- SynchronizationHandlesCodeDomSerializer.cs
- ImageBrush.cs
- ListViewItem.cs
- BitmapImage.cs
- RouteUrlExpressionBuilder.cs
- TickBar.cs
- LinqDataSourceValidationException.cs
- StandardMenuStripVerb.cs
- FacetDescription.cs
- ClusterSafeNativeMethods.cs
- ServerIdentity.cs
- ReferencedAssembly.cs
- UpDownBaseDesigner.cs
- LabelLiteral.cs
- ThicknessAnimationBase.cs