System.Windows.Forms.CommandBar.PreProcessMessage C# (CSharp) Method

PreProcessMessage() private method

private PreProcessMessage ( Message &message ) : bool
message Message
return bool
        public override bool PreProcessMessage(ref Message message)
        {
            if (message.Msg == NativeMethods.WM_KEYDOWN || message.Msg == NativeMethods.WM_SYSKEYDOWN)
            {
                // Process shortcuts.
                Keys keyData = (Keys) (int) message.WParam | ModifierKeys;
                if (state == State.None)
                {
                    CommandBarItem[] shortcutHits = this.items[keyData];
                    if (shortcutHits.Length > 0)
                    {
                        if (this.PerformClick(shortcutHits[0]))
                        {
                            return true;
                        }
                    }
                }
            }

            // All the following code is for MenuBar only.
            if (this.Style != CommandBarStyle.Menu)
            {
                return false;
            }

            if ((message.Msg >= NativeMethods.WM_LBUTTONDOWN) && (message.Msg <= NativeMethods.WM_MOUSELAST))
            {
                // Check if user clicked outside the MenuBar and end tracking.
                if ((message.HWnd != Handle) && (this.state != State.None))
                {
                    this.SetState(State.None, -1);
                }
            }
            else if ((message.Msg == NativeMethods.WM_SYSKEYUP) || (message.Msg == NativeMethods.WM_KEYDOWN) || (message.Msg == NativeMethods.WM_SYSKEYDOWN))
            {
                Keys keyData = ((Keys) (int) message.WParam) | ModifierKeys;
                Keys keyCode = ((Keys) (int) message.WParam);
                if ((keyData == Keys.F10) || (keyCode == Keys.Menu))
                {
                    if (message.Msg == NativeMethods.WM_SYSKEYUP)
                    {
                        if ((this.state == State.Hot) || (this.lastState == State.HotTracking))
                        {
                            this.SetState(State.None, 0);
                        }
                        else if (state == State.None)
                        {
                            this.SetState(State.Hot, 0);
                        }

                        return true;
                    }
                }
                else if (message.Msg == NativeMethods.WM_KEYDOWN || message.Msg == NativeMethods.WM_SYSKEYDOWN)
                {
                    if (PreProcessKeyDown(ref message))
                        return true;
                }
            }

            return base.PreProcessMessage(ref message);
        }