WindowsNonControl.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / Win32Providers / MS / Internal / AutomationProxies / WindowsNonControl.cs / 1305600 / WindowsNonControl.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: A Windows Proxy to set IsContent and IsControl to false. 
//  By setting both IsContent and IsControl to false this will hide these
//  controls from the Content view of the Automation Tree. 
//
// History:
//  02/24/2005 : [....] created
//--------------------------------------------------------------------------- 

using System; 
using System.Collections; 
using System.Windows;
using System.Windows.Automation; 
using System.Windows.Automation.Provider;
using MS.Win32;

namespace MS.Internal.AutomationProxies 
{
    class WindowsNonControl: ProxyHwnd 
    { 
        // -----------------------------------------------------
        // 
        // Constructors
        //
        // -----------------------------------------------------
 
        #region Constructors
 
        WindowsNonControl(IntPtr hwnd, ProxyFragment parent, int item) 
            : base(hwnd, parent, item)
        { 
            _fIsContent = false;
        }

        #endregion 

        #region Proxy Create 
 
        // Static Create method called by UIAutomation to create this proxy.
        // returns null if unsuccessful 
        internal static IRawElementProviderSimple Create(IntPtr hwnd, int idChild, int idObject)
        {
            return Create(hwnd, idChild);
        } 

        private static IRawElementProviderSimple Create(IntPtr hwnd, int idChild) 
        { 
            // Something is wrong if idChild is not zero
            if (idChild != 0) 
            {
                System.Diagnostics.Debug.Assert(idChild == 0, "Invalid Child Id, idChild != 0");
                throw new ArgumentOutOfRangeException("idChild", idChild, SR.Get(SRID.ShouldBeZero));
            } 

            return new WindowsNonControl(hwnd, null, idChild); 
        } 

        #endregion 

        //------------------------------------------------------
        //
        //  Patterns Implementation 
        //
        //----------------------------------------------------- 
 
        #region ProxySimple Interface
 
        // Process all the Logical and Raw Element Properties
        internal override object GetElementProperty (AutomationProperty idProp)
        {
            if (idProp == AutomationElement.IsControlElementProperty) 
            {
                return false; 
            } 

            return base.GetElementProperty (idProp); 
        }

        #endregion
    } 
}
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK