如何实现点击开始菜单后上,在上面显示一个png图片,及能调整图片的透明度?
曾看过一个笔记本,点击开始菜单后,在上面有一个会动的蝴蝶,我不要求能动,只显示在上面即可!
给出完整代码!

解决方案 »

  1.   

    别说是png,就算是将一个bmp做为菜单的背景,都难实现。帮你顶一下贴子。
      

  2.   

    你必须下钩子,网上有 kkmenu 的源代码,你可以参考一下人家是怎么做的。
      

  3.   

    有難度、更有挑戰性
    至少要從以下幾步入手:
    1.從文件加載PNG;
    2.從資源加載PNG;
    3.從圖像對象加載PNG
      

  4.   

    我在上面已经说了,必须得下钩子,下钩子之后,一切事情就是在你自己的过程里面做。
    例如画背景图,或其他画颜色,前提还是要钩到开始菜单。而加载 PNG 无论从资源加载还是从文件加载都是简单的。
      

  5.   

        这个难度不大,需要找到“开始”按钮窗口的句柄,然后更改其窗口过程,在自己的窗口过程中画图。要更改窗口过程,因为是两个进程,地址空间不同,又涉及到怎样把自己的窗口过程加载到 对方进程的地址空间中,可以使用DLL注入等技术。
    总之,技术难度不大....
      

  6.   

    windows api编程时多么的重要呀,这才是windows编程的基础,其他什么vc、c#都是建立在此基础上的
      

  7.   

    没你想象的那么难,
    第一步,你得知道如何绘制BMP菜单项,自绘会吗,不会请看xpmenu源码。
    第二步,加载PngImage,就可以搞定了,不知你用的是啥语言。
      

  8.   

    可以实现!不过,懒得写代码,可以参考VclSKin的代码,下一个钩子,然后截获创建消息,替换掉窗口过程,子类化。然后你就可以全程掌控了如果是你自己模拟的菜单效果的话,那就随便你怎么玩了!
    http://www.cnblogs.com/DxSoft/archive/2010/09/10/1822900.html。比如我这里实现的菜单,就可以随意的控制绘制,因为不是用的Windows的标准菜单,而是实际模拟的菜单
      

  9.   

    额有错别字。嗯,是的,我说的是这样的,也是一般这么做的:
    用钩子拦截开始菜单的弹出消息,处理掉,不让它弹出来,然后,用自己的窗体替换掉开始菜单。如果可以到了可以将开始菜单替换为自己的窗体这一步的话,画什么东西或者怎么画就是简单的绘图和系统外壳编程了。
    所以,昨晚我说让楼主去研究一下 KKMENU 这个很好的代码(网上有,开始是一款共享软件,后来是开源了,delphi7 写的)。KKMENU 就是完全实现了楼主想要的功能,而且让开始菜单有 VISTA/WIN7 的半透明和玻璃效果。
    最后啰嗦一句:替换掉开始菜单是很正常的想法,不要以为这个太恶心,据我所知,很多类似的共享软件也是这么做的。
      

  10.   

    开始菜单的位置和大小是不改变的(不更改菜单样式),在开始菜单弹出时画个stay on top图象
      

  11.   

    repeater分页,如何让第N页就显示第N页的第一条数据 现在
      

  12.   

    如果没理解错,你需要用半透明的PNG图片作为窗口背景,这需要使用LayeredWindow技术,具体来说,使用API函数UpdateLayeredWindow绘图。不过这样绘制的窗口无法接收系统的WM_Paint消息,也就无法绘制上面的控件了,所以要再叠加一个单色透明窗口承载控件,两个窗口之间同步位置和大小就行了。