缺点就是他不支持放大拉伸好像吧,例如你的背景ICON或者BMP是32*32的,BUTTON如果是放大到64*64他的背景不会变,只是边框拉大了,周围就空了,这使得我在处理不同分辨率的电脑上运行程序有麻烦,换个显示器就得把里面的图片PS小吗?
有没有这类自动拉伸的BUTTON ,而且背景支持透明的,我找了一大堆没怎么找到
谢谢
thanks much!

解决方案 »

  1.   

    建立BUTTON的时候选择自绘风格,然后自己贴图不就行了
      

  2.   


    但是封装起来烦啊
    像带MENU或者TOOLTIP等功能,还有背景透明等一大堆的东西,移进移出的边框变化,自己写起来太烦了。
      

  3.   

    可能你自己需要修改它的源代码,可能需要把BitBlt换成StretchBlt来贴图
      

  4.   

    CButton类使用的是点阵图,不能完成你所要的功能。
    不过,你可以继承CButton类,重写DrawItem(),自己完成CButton类的图形变化功能。
      

  5.   

    重载CButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
    在其中使用StretchBlt将背景图片变换成适应Button大小的图片
      

  6.   

    我这个例子基本实现 你的要求,但只作为参考,并不完善(是我临时修改自己原来的自绘按钮类而成的)
    http://cid-3ba16e78a53d2d3d.office.live.com/self.aspx/VC%5EM%5EM/button.zip