topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday December 13, 2024, 11:29 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: Windows Start Menu Shadow Residue Bug  (Read 22432 times)

VideoInPicture

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 467
    • View Profile
    • Circle Dock
    • Donate to Member
Windows Start Menu Shadow Residue Bug
« on: August 19, 2008, 08:09 PM »
Here's a bug I have not been able to figure out. If you have Windows XP or Vista and you have enabled the "Show shadows under menus" style in your visual styles, then the Windows Start Menu leaves a persistant shadow on the desktop when Circle Dock is used to open it. The screen shot below illustrates my point:

StartMenuShadowResidue.jpgWindows Start Menu Shadow Residue Bug1

The code I'm using to call the Windows Start Menu is quite simple (C#):

IntPtr StartMenuHandle = (IntPtr)Pinvoke.Win32.FindWindow("DV2ControlHost", null);
IntPtr taskBarWnd = (IntPtr)Pinvoke.Win32.FindWindow("Shell_TrayWnd", null);
IntPtr startWnd = Pinvoke.Win32.FindWindowEx(taskBarWnd, IntPtr.Zero, "Button", "Start");

Pinvoke.Win32.SetWindowPos(taskBarWnd, IntPtr.Zero, 0, 0, 0, 0, Pinvoke.Win32.SWP_NOSIZE | Pinvoke.Win32.SWP_SHOWWINDOW |
        Pinvoke.Win32.SWP_NOMOVE);
Pinvoke.Win32.SetWindowPos(startWnd, IntPtr.Zero, 0, 0, 0, 0, Pinvoke.Win32.SWP_NOSIZE | Pinvoke.Win32.SWP_SHOWWINDOW |
        Pinvoke.Win32.SWP_NOMOVE);
Pinvoke.Win32.SetWindowPos(StartMenuHandle, IntPtr.Zero, StartMenuBestPos.X, StartMenuBestPos.Y, 0, 0, Pinvoke.Win32.SWP_NOSIZE |
        Pinvoke.Win32.SWP_SHOWWINDOW);

The StartMenuHandle is the handle to the start menu itself and the other handles are for the start button and the taskbar. I think this may actually be a bug with Windows itself. Any thoughts or solutions?
Author of Circle Dock: http://circledock.wikidot.com
Author of Video In Picture: http://videoinpicture.wikidot.com
Author of Webcam Signature: http://webcamsignature.wikidot.com
Author of Easy Unicode Paster: http://easyunicodepaster.wikidot.com

wreckedcarzz

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 1,626
    • View Profile
    • Donate to Member
Re: Windows Start Menu Shadow Residue Bug
« Reply #1 on: August 19, 2008, 11:20 PM »
I can confirm that this happens to me as well on Vista Home Premium 32 bit. I don't know any C#, but figured I would point out that it happens to me too.

VideoInPicture

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 467
    • View Profile
    • Circle Dock
    • Donate to Member
Re: Windows Start Menu Shadow Residue Bug
« Reply #2 on: August 19, 2008, 11:34 PM »
I searched the web and other programmers are having the same issue with the shadows not going away. Apparently, Microsoft did not implement the shadow ownerships very well. I just wonder how Object Dock gets the start menu to show up with out shadow residue.

If you want to remedy the problem, just turn off the "Show shadow under menus" option in your visual styles in Windows.
Author of Circle Dock: http://circledock.wikidot.com
Author of Video In Picture: http://videoinpicture.wikidot.com
Author of Webcam Signature: http://webcamsignature.wikidot.com
Author of Easy Unicode Paster: http://easyunicodepaster.wikidot.com

fsieber

  • Participant
  • Joined in 2008
  • *
  • default avatar
  • Posts: 2
    • View Profile
    • Donate to Member
Re: Windows Start Menu Shadow Residue Bug
« Reply #3 on: August 27, 2008, 03:35 PM »
I now consider the program operational.  I have 73 icons.  I would like to see an inner diameter adjustment as well as outer on the background so I could get it to cover all the icons.   Sometimes the icons are hard to see against a complicated desktop background, etc.   Thanks.

VideoInPicture

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 467
    • View Profile
    • Circle Dock
    • Donate to Member
Re: Windows Start Menu Shadow Residue Bug
« Reply #4 on: August 27, 2008, 05:15 PM »
I now consider the program operational.  I have 73 icons.  I would like to see an inner diameter adjustment as well as outer on the background so I could get it to cover all the icons.   Sometimes the icons are hard to see against a complicated desktop background, etc.   Thanks.

73 icons!!!!!! I hope you are using the dock folders to organize them!  :o

As for the background size adjustments, you can adjust the overall size of it in the settings panel under the Background tab. However, you are not able to independently adjust both the inner diameter and the outer diameter due to how a picture scales mathematically. What you can do is try searching on Google for a PNG image of a solid circle and uses that as your background. Then, you can size the background to cover all your icons.

I may improve how the background is rendered later on and I'm planning on adding code that allows you to add a background that is drawn mathematically instead of using a PNG image. But that is just a plan for now.
Author of Circle Dock: http://circledock.wikidot.com
Author of Video In Picture: http://videoinpicture.wikidot.com
Author of Webcam Signature: http://webcamsignature.wikidot.com
Author of Easy Unicode Paster: http://easyunicodepaster.wikidot.com

Dormouse

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,954
    • View Profile
    • Donate to Member
Re: Windows Start Menu Shadow Residue Bug
« Reply #5 on: August 27, 2008, 06:19 PM »
I'm at 120 top level icons now, and have only just started playing with the dock folders (about another 8 in there). Not sure what I'll end up putting in them yet, as it is most efficient having everything at top level. Not sure what the top number for that is, but it would be even bigger if the outer circles could contain more icons than the inner one (and I'm sure this is planned  ;) ). Still can't get it over 50% CPU however much I move it; seems pretty reasonable on resource use.

If I try the start menu now, it does come up even having reactivated the Vista Start Menu, but I have a problem in that if I move my mouse towards it, it disappears again before my mouse gets there. Maybe a TLB/VSM conflict.

VideoInPicture

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 467
    • View Profile
    • Circle Dock
    • Donate to Member
Re: Windows Start Menu Shadow Residue Bug
« Reply #6 on: August 27, 2008, 06:30 PM »
I'm at 120 top level icons now, and have only just started playing with the dock folders (about another 8 in there). Not sure what I'll end up putting in them yet, as it is most efficient having everything at top level. Not sure what the top number for that is, but it would be even bigger if the outer circles could contain more icons than the inner one (and I'm sure this is planned  ;) ). Still can't get it over 50% CPU however much I move it; seems pretty reasonable on resource use.

If I try the start menu now, it does come up even having reactivated the Vista Start Menu, but I have a problem in that if I move my mouse towards it, it disappears again before my mouse gets there. Maybe a TLB/VSM conflict.

I can't believe how many icons you guys are putting on a single level!!! I'll be improving the speed of loading the dock folders in Alpha 8 so there will be less lag. And yes, I will be adding more shape options.

The Start Menu is disappearing in your case because the dock is grabbing focus when you hover over part of it. Have you tried setting the option to hide the dock after it executes something in Settings Panel -> Dock Items -> Hide Dock? This will prevent the dock from grabbing focus because it will fade away.

Circle Dock won't be able to open your special start menu because it is hardcoded to show the default Windows start menu, which has a class name of "DV2Host" and I don't think other start menus use this. I'll be adding an option for the middle button to execute other things beside opening up the default start menu, but I don't think I could move any of the other add-on start menus to where Circle Dock is located.
Author of Circle Dock: http://circledock.wikidot.com
Author of Video In Picture: http://videoinpicture.wikidot.com
Author of Webcam Signature: http://webcamsignature.wikidot.com
Author of Easy Unicode Paster: http://easyunicodepaster.wikidot.com

wreckedcarzz

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 1,626
    • View Profile
    • Donate to Member
Re: Windows Start Menu Shadow Residue Bug
« Reply #7 on: August 27, 2008, 07:48 PM »
I have mine on my laptop organized into a nice little top level + 4 folders system. Top level, Programs, Adobe Programs, Games, Maintenance. Like 30 icons total.

Dormouse

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,954
    • View Profile
    • Donate to Member
Re: Windows Start Menu Shadow Residue Bug
« Reply #8 on: August 28, 2008, 03:43 AM »
I'll be improving the speed of loading the dock folders in Alpha 8 so there will be less lag. And yes, I will be adding more shape options.
-VideoInPicture (August 27, 2008, 06:30 PM)

Faster would definitely be better. Also a set of included icons/folders in the right click menu might be quite fast (there's no point in putting a lot of icons in a virtual folder).

To some extent, I'm testing out the reasonable usability limits. Can certainly go higher than I have atm, but no more than another ring or two. I could benefit from geting the icons more densely packed if there were the same density for each ring, buthaving the icons going out in spokes is also a good way of organising them - at least if there were an easy way to decide which spoke and which ring each icon was on. [I can rearrange icons by moving them one over the other, but haven't yet worked out the rules that decide where the outgoing icon moves too; I probably just need to look at this a bit more].

The Start Menu is disappearing in your case because the dock is grabbing focus when you hover over part of it. Have you tried setting the option to hide the dock after it executes something in Settings Panel -> Dock Items -> Hide Dock? This will prevent the dock from grabbing focus because it will fade away.

Circle Dock won't be able to open your special start menu because it is hardcoded to show the default Windows start menu, which has a class name of "DV2Host" and I don't think other start menus use this. I'll be adding an option for the middle button to execute other things beside opening up the default start menu, but I don't think I could move any of the other add-on start menus to where Circle Dock is located.
-VideoInPicture (August 27, 2008, 06:30 PM)

I don't expect Circle Dock to open VSM and don't really need it to open the Start Menu - I was just looking at what it did really. With Circle Dock, I wouldn't be using the start menu (any type) much anyway. Quite happy with it opening the default Start Menu, if only I could see it all and use it - but if it weren't there I probably wouldn't be mentioning it as a desired feature.

VideoInPicture

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 467
    • View Profile
    • Circle Dock
    • Donate to Member
Re: Windows Start Menu Shadow Residue Bug
« Reply #9 on: August 28, 2008, 03:57 AM »
Dormouse, are you using Vista or XP? I'm going to be uploading Alpha 7.4 in a few minutes that has a few new features. One of them is the ability to use the default high resolution icons in Vista so you don't have to swap everything icon out.
Author of Circle Dock: http://circledock.wikidot.com
Author of Video In Picture: http://videoinpicture.wikidot.com
Author of Webcam Signature: http://webcamsignature.wikidot.com
Author of Easy Unicode Paster: http://easyunicodepaster.wikidot.com

Dormouse

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,954
    • View Profile
    • Donate to Member
Re: Windows Start Menu Shadow Residue Bug
« Reply #10 on: August 28, 2008, 11:47 AM »
XP Pro