示例#1
0
        protected override void WndProc(ref Message winMessage)
        {
            const int WM_GETOBJECT = 0x003D;

            if (winMessage.Msg == WM_GETOBJECT)
            {
                if (!AutomationIsActive)
                {
                    // If no provider has been created, then create one.
                    myListProvider = new ListProvider(this);

                    // Create providers for each existing item in the list.
                    foreach (CustomListItem listItem in itemsArray)
                    {
                        listItem.Provider = new ListItemProvider(myListProvider, listItem);
                    }
                }

                winMessage.Result =
                    AutomationInteropProvider.ReturnRawElementProvider(
                        Handle, winMessage.WParam, winMessage.LParam, myListProvider);
                return;
            }
            base.WndProc(ref winMessage);
        }
示例#2
0
        protected override void WndProc(ref Message m)
        {
            if (m.Msg == WmGetobject)
            {
                m.Result = AutomationInteropProvider.ReturnRawElementProvider(m.HWnd, m.WParam, m.LParam, _controlProvider);
                return;
            }

            base.WndProc(ref m);
        }
        protected override void WndProc(ref Message m)
        {
            if (m.Msg == 0x3D /* WM_GETOBJECT */)
            {
                m.Result = AutomationInteropProvider.ReturnRawElementProvider(m.HWnd, m.WParam, m.LParam, RawElementProviderSimple);
                return;
            }

            base.WndProc(ref m);
        }
示例#4
0
 protected override void WndProc(ref Message m)
 {
     // 0x3D == WM_GETOBJECT
     if ((m.Msg == 0x3D) && (m.LParam.ToInt32() == AutomationInteropProvider.RootObjectId))
     {
         m.Result = AutomationInteropProvider.ReturnRawElementProvider(
             Handle, m.WParam, m.LParam, (IRawElementProviderSimple)this);
         return;
     }
     base.WndProc(ref m);
 }
示例#5
0
        private IntPtr OnWmGetObject(IntPtr wparam, IntPtr lparam)
        {
            IntPtr         result         = IntPtr.Zero;
            AutomationPeer automationPeer = UIElementAutomationPeer.CreatePeerForElement(this);

            if (automationPeer != null)
            {
                IRawElementProviderSimple interopChild = automationPeer.GetInteropChild();
                result = AutomationInteropProvider.ReturnRawElementProvider(this.CriticalHandle, wparam, lparam, interopChild);
            }
            return(result);
        }
示例#6
0
        protected override void WndProc(ref Message m)
        {
            if (m.Msg == WM_GETOBJECT &&
                (int)m.LParam == AutomationInteropProvider.RootObjectId)
            {
                m.Result = AutomationInteropProvider.ReturnRawElementProvider(
                    this.Handle, m.WParam, m.LParam,
                    (IRawElementProviderSimple)this);
                return;
            }

            base.WndProc(ref m);
        }
示例#7
0
        private IntPtr OnWmGetObject(IntPtr wparam, IntPtr lparam)
        {
            IntPtr result = IntPtr.Zero;

            AutomationPeer containerPeer = UIElementAutomationPeer.CreatePeerForElement(this);

            if (containerPeer != null)
            {
                // get the element proxy
                IRawElementProviderSimple el = containerPeer.GetInteropChild();
                result = AutomationInteropProvider.ReturnRawElementProvider(CriticalHandle, wparam, lparam, el);
            }
            return(result);
        }
示例#8
0
            protected override void WndProc(ref Message m)
            {
                if (m.Msg == WM_GETOBJECT)
                {
                    if (m.LParam.ToInt32() == AutomationInteropProvider.RootObjectId)
                    {
                        m.Result = AutomationInteropProvider.ReturnRawElementProvider(m.HWnd, m.WParam, m.LParam, _elementProvider);
                        return;
                    }
                    DefWndProc(ref m);
                    return;
                }

                base.WndProc(ref m);
            }
示例#9
0
        protected override void WndProc(ref Message m)
        {
            const int WM_GETOBJECT = 0x003D;

            if (m.Msg == WM_GETOBJECT)
            {
                if (!AutomationIsActive)
                {
                    // If no provider has been created, then create one.
                    myTransformProvider = new TransformProvider(this);
                }

                m.Result =
                    AutomationInteropProvider.ReturnRawElementProvider(
                        Handle, m.WParam, m.LParam, myTransformProvider);
                return;
            }
            base.WndProc(ref m);
        }
示例#10
0
        private IntPtr OnWmGetObject(IntPtr wparam, IntPtr lparam)
        {
            IntPtr result = IntPtr.Zero;

            WindowsFormsHostAutomationPeer peer = UIElementAutomationPeer.CreatePeerForElement(this) as WindowsFormsHostAutomationPeer;

            if (peer != null)
            {
                // get the element proxy
                IRawElementProviderSimple el = peer.GetProvider();

                if (el != null)
                {
                    //This requires FullTrust but we already have it.
                    result = AutomationInteropProvider.ReturnRawElementProvider(Handle, wparam, lparam, el);
                }
            }
            return(result);
        }