Example #1
0
        public static Rectangle GetMenuItemRect(IntPtr hWnd, IntPtr hMenu, uint uItem)
        {
            Rectangle mrect = Rectangle.Empty;

            MadPiranha.Plugster.Util.WindowAction.RECT rect = new MadPiranha.Plugster.Util.WindowAction.RECT();
            if (GetMenuItemRect(hWnd, hMenu, uItem, ref rect))
            {
                mrect = new Rectangle(rect.Left, rect.Top, rect.Right - rect.Left, rect.Bottom - rect.Top);

                MadPiranha.Plugster.Util.WindowAction.RECT winRect = new MadPiranha.Plugster.Util.WindowAction.RECT();

                if (WindowAction.IsWindowMirrored(hWnd) && WindowAction.GetWindowRect(hWnd, out winRect) != 0)
                {
                    int dist = mrect.Left - winRect.Left;
                    mrect = new Rectangle(winRect.Right - dist - mrect.Width,
                                          mrect.Y,
                                          mrect.Width,
                                          mrect.Height);
                }
            }

            return(mrect);
        }