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

WmMenuChar() private method

private WmMenuChar ( Message &message ) : void
message Message
return void
        private void WmMenuChar(ref Message message)
        {
            Menu menu = contextMenu.FindMenuItem(MenuItem.FindHandle, message.LParam);
            if (contextMenu.Handle == message.LParam)
            {
                menu = contextMenu;
            }

            if (menu != null)
            {
                char key = char.ToUpper((char) ((int) message.WParam & 0x0000FFFF), CultureInfo.InvariantCulture);
                int index = 0;
                foreach (MenuItem menuItem in menu.MenuItems)
                {
                    if ((menuItem != null) && (menuItem.OwnerDraw) && (menuItem.Mnemonic == key))
                    {
                        message.Result = (IntPtr) ((NativeMethods.MNC_EXECUTE << 16) | index);
                        return;
                    }

                    if (menuItem.Visible) index++;
                }
            }
        }