VirtualBox

Changeset 45363 in vbox


Ignore:
Timestamp:
Apr 5, 2013 9:49:47 AM (12 years ago)
Author:
vboxsync
Message:

VBoxTray/VBoxSeamless: Fix for the issue - A small rectangular bar appears over the start button for Vista and above in seamless mode when mouse is hovered over the start button..
Solution:
The start button size reported incorrectly by the OS. The rectangle has been cut to avoid the rectangular bar glitch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxSeamless.cpp

    r45140 r45363  
    144144    DWORD               dwStyle, dwExStyle;
    145145    RECT                rectWindow, rectVisible;
     146    OSVERSIONINFO       OSinfo;
     147
     148    OSinfo.dwOSVersionInfoSize = sizeof (OSinfo);
     149    GetVersionEx (&OSinfo);
    146150
    147151    dwStyle   = GetWindowLong(hwnd, GWL_STYLE);
     
    199203            {
    200204                Log(("VBoxTray: GetWindowRgn failed with rc=%d\n", GetLastError()));
    201                 SetRectRgn(hrgn, rectVisible.left, rectVisible.top, rectVisible.right, rectVisible.bottom);
     205
     206                /* for vista and above. To solve the issue of small bar above the Start button */
     207                if (OSinfo.dwMajorVersion >= 6)
     208                {
     209                    char szWindowTextStart[256];
     210                    HWND hStart = NULL;
     211                    hStart = ::FindWindowEx(GetDesktopWindow(), NULL, "Button", NULL);
     212                    GetWindowText(hwnd, szWindowText, sizeof(szWindowText));
     213                    GetWindowText(hStart,szWindowTextStart, sizeof(szWindowTextStart));
     214                    if (   hwnd == hStart && szWindowText != NULL
     215                        && !(strcmp(szWindowText, szWindowTextStart))
     216                       )
     217                    {
     218                        LogRel(("VboxTray/Seamless: Start found.\n"));
     219                        SetRectRgn(hrgn, rectVisible.left, rectVisible.top +7, rectVisible.right, rectVisible.bottom);
     220                    }
     221                    else
     222                        SetRectRgn(hrgn, rectVisible.left, rectVisible.top , rectVisible.right , rectVisible.bottom);
     223                }
     224                else
     225                    SetRectRgn(hrgn, rectVisible.left, rectVisible.top , rectVisible.right , rectVisible.bottom);
    202226            }
    203227            else
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette