大伙指点啊,说的细点,谢谢!!!

解决方案 »

  1.   

    每个window 都是能接受WM_PAINT消息的。你可以在受到这个消息时对这个CDC任意的画。在收到如鼠标左击等消息时判断鼠标位置在这个位置内时不处理,也就达到这个效果了。
      

  2.   

    windows开始菜单并不是菜单,是用CWND模拟的。我也有个CWND模拟的弹出菜单,但是还没有封装好。
      

  3.   

    那是一个放在explorer.exe中的位图资源
      

  4.   

    derive a your own class from CMenu and override the DrawItem virtual
    function!!
      

  5.   

    自己用刷子画啊,不是很难的。去www.codeguru.com看看。
      

  6.   

    你们用过CReBar吗?
    每组工具条都是ReBar的一个Band,设置ReBar的Style就可以了:RBS_BANDBORDERS
      

  7.   

    好像还是比较麻烦的。
    每一个menuitem都要画,new class一个CMenu,然后定义menuitem的结构,设置menu为ownerdraw,用CList获取资源menu里的现有信息。之后对于每一个menuitem都要先得到结构里的东西,确定item大小然后画上去图片和文本。我看还是用别人做好的的类库吧。
      

  8.   

    同意czn(vcopengl) 的方法。最简单。
      

  9.   

    我不就是把czn(vcopengl)的方法说得更细了嘛。
      

  10.   

    放一个长条状的位图,然后响应菜单的on_measureitem消息,自绘菜单我用delphi作了一个
      

  11.   

    用vc做比较麻烦,需要自己做菜单的全部工作。比如每个菜单的重画、消息相应等。封装的比较好的可以看看BCGControlBar的源程序,里面对各种界面做的非常棒。
    http://www.bcgsoft.com
      

  12.   

    看看我的代码吧,不难的
    http://www.codeproject.com/menu/menuxp.asp
      

  13.   

    你需要自己截下WM_PAINT消息,然后改变其中显示位置的参数。
    在传给WINDOWS窗口,这样就可以实现该功能了。
      

  14.   

    低级问题!!!你可以把任何形式的窗口(包括弹出式菜单和控件)都想想成一个画布!
    任何东西都是draw上去的。包括文字!!!!只不过做好看需要很多方面的素质。学会看本质!