在开发程序是,经常要用到按钮,而MFC默认的按钮太简单了...想通过贴图的方式(LoadBitmaps)美化一下按钮.但是现在的问题就是.1. LoadBitmaps只支持BMP的;
2. LoadBitmaps需要有一套几个图标才能表示不同的状态(正常,按下,焦点,无效等),如果只有一个图标,那按下按钮时,按钮状态并不会更改, 而网上的素材,一般只有一个图标.请问,除了自己重写按钮类,有啥比较简单的方法可以解决这两个问题.

解决方案 »

  1.   

    1. LoadBitmaps只支持BMP的;
     可以用CImage或GDIPlus
    2. LoadBitmaps需要有一套几个图标才能表示不同的状态(正常,按下,焦点,无效等)
     自己绘制按钮,根据状态不同,调整坐标就可以了.比如BitBlt的坐标.参考:
    http://www.vckbase.com/index.php/wv/1652.html
    http://www.vckbase.com/index.php/wv/1529.html
      

  2.   

    CImageButton搜索一下这个类, 按钮三种状态,这个类可以很简单的实现。
      

  3.   

    当然你也可以用PtInRect来判断你的鼠标位置是否在按钮上,如果在按钮上在判断鼠标是按下还是移动,还是处于上面这三个状态去给按钮重新加载位图。
      

  4.   

    codeproject上搜索CButtonST吧,应该符合你的要求的
      

  5.   

    参考文献:
    http://www.vckbase.com/index.php/wv/1652.html
    http://www.vckbase.com/index.php/wv/1529.html