我用一幅位图做背景,原来的窗体设为透明,在上面放按钮控件,按钮也是透明的,即按钮直接穿过了背景位图,就像窗体上有个洞一样.  如何使按钮以 背景位图 为背景,即背景位图画在窗体上的同时也画在了按钮上?

解决方案 »

  1.   

    用CButtonST是一个比较不错的从CButton继乘过来的类
    http://www.vckbase.com/document/finddoc.asp?keyword=CButtonSTCButtonST::DrawTransparent
      

  2.   

    晕死!又是CButtonST,我看这个看懂了,我就不来这了.....哪位朋友可以帮写一个简短的程序.感激不尽!
      

  3.   

    你不需要看懂,把BtnST.h,BtnST.cpp文件download添加到工程中,然后把Button类型改为CButtonST m_button;
    调用m_button.DrawTransparent(TRUE);即可去除按钮控件背景
      

  4.   

    问题是这样的:我建了个窗体(基于对话框),把窗体设为透明,然后在窗体加了一张位图做为背景,然后在上面放一个按钮控件,此时如果把按钮改为 OwnerDraw形式,这时,这个按钮就是一个空洞(直接以桌面为底看),相当于窗体上有个洞,说明这时按钮已经是透明的了,我想让按钮的背景是我加载的那张图片,该如何实现?      千万麻烦请给个实例.谢谢.
      

  5.   

    重载OnCtrlColor消息,在里面设置,按钮的背景色与位图的一样这个不须要给例子了吧另外:LZ你问问题不要这么嚣张吧,别人给你答案一番好意,无论是否是你想要的答案,你都不能用那种语气去说吧,叶子兄脾气真好
      

  6.   

    谢谢各位.   若有什么不对的地方还请谅解. 我先试试 Stefine的方法.