我编的自画菜单:http://go6.163.com/910grtd/vb/wdzp/DrawMenu-S.htm(有注释!特地为想学自画菜单的人写的)
http://go6.163.com/910grtd/vb/wdzp/CoolGUI.htm(效果比较好,但没有注释)

解决方案 »

  1.   

    不好意思,还没有写完就按错键,发了出去。我现在接着说。65554到底是什么了,我用SPY++得到了一些答案。您也可以了解一下。我的问题是。
    1.怎么样可以使我的窗体上的菜单不是用65554这个窗体。因为我在子类它之后经常出现一些莫名其妙的死机,影响程序的调试。
    说明,您可以试着改变65554这个窗体的样式,然后在记事本中看一下改变后的效果。
      

  2.   

    最好还是用窗体模拟菜单http://www.dapha.net/vb/list.asp?id=748
    XP下拉菜单(影子效果)
      

  3.   

    TO  zyl910(910:分儿,我来了!) 
    自绘制我也可以,我是想改变菜单所在窗体的效果,我见了网上很多所谓的XP菜单,但XP菜单最重要的一条(平面)都没有实现,怎么叫XP菜单呢?
      

  4.   

    估计全世界还没有其他人想到这种方法只有问Bill了顺便说一下
    Office XP的菜单不是菜单
    是用窗体模拟的
      

  5.   

    我也有个问题
    http://www.csdn.net/expert/topic/777/777552.xml?temp=.6264917
    不知道你会不会
    帮我看看好吗?
      

  6.   

    TO  zyl910(910:分儿,我来了!) 
    1.Office XP的菜单是菜单,这我跟过的。
    2.你如果想做半透明的菜单,就要解决我的问题。因为只有知道每一个菜单所用窗体的创建,才能给每一个窗体设置WM_EX_TRANSPARENT属性,否则用函数自己画的话效率太差了。
      

  7.   

    1.Office XP的菜单是菜单,这我跟过的。
    ====================================================================
    你根据什么判断它是菜单的我以前在VC区看过一篇关于 Office 2000的菜单是不是菜单 的帖子,后来根据它没有WM_MENUSELECT等菜单消息而认定它不是用系统的菜单
    我觉得Office XP的菜单所用的技术应该和Office 2000的差不多而且Office XP是MS出的、绝对不是VB写的
    不可能像VB做的模拟菜单一样 用Form数组
    它肯定是用CreateWindow(或CreateWindowEx)创建的窗体
    为了方便,它应该会用系统的菜单窗体的类名同时为了使其看起来像一个菜单
    它会用 跟系统的菜单窗体一样的窗体属性
    要不然会像http://www.dapha.net/vb/list.asp?id=748的,“菜单”弹出来后主窗体的标题会变灰(可以通过修改窗体属性来解决)2.你如果想做半透明的菜单,就要解决我的问题。因为只有知道每一个菜单所用窗体的创建,才能给每一个窗体设置WM_EX_TRANSPARENT属性,否则用函数自己画的话效率太差了。
    ====================================================================
    WM_EX_TRANSPARENT是全透明
    不好对于图像的半透明合并
    可以直接对DIB位图数据的内存进行操作
    这样很快的现在最关键的是GetMenuItemRect取得的坐标不对
    顺便问一下,知道消息482(16进制是1E2)是什么含义吗?我的资料里查不出。
    ====================================================================
    我也查不到
      

  8.   

    其实office的菜单和ActiveBar控件的原理一样,它们是菜单,但不是从属于主窗体的,所以从主窗体中截获不了WM_MENUSELECT等消息,而且什么是系统菜单这个问题其实本身就很模糊。都是在一个含有WS_POPUP类型的窗体中实现的。我不用VB窗体做的原因是占用的资源较大。如果真的需要,还不如用CreateWindowEx自己建一个好些。
      

  9.   

    我已成功用VB做出和Office XP的菜单几乎一样效果的菜单了,
    是用窗体做的,但因技术问题乳没有影子效果……  
    解决了包括文字与菜单接合的问题……
    有意Call : [email protected]
    Oicq: 49341049
      

  10.   

    xp的菜单是windows菜单至于如何才能写出这样的效果在vb里如果不用窗体是很困难的(据说vb 7.0很简单)但是在vc里做还是简单的,如果需要这方面的帮助可以联系我.
      

  11.   

    骗你们干什么,打开SPY++,点查找按钮,在文本框中输入10012(65554的十六进制),它会给你一些有关提示的,但是很模糊。
    我已经搞定这个问题了。感兴趣的可以和我交流一下。谢谢大家的关心。我也非常开心,正在散分。
      

  12.   

    TO    zyl910(910:分儿,我来了!)    
    谢谢你的关心,可惜没有完成我的要求,所以500分就不能给了,小给70,不要嫌少呀!