请问实现位图按钮有哪些方法?最简便实用的是怎么样的?
希望得到详细的代码!!谢谢!!

解决方案 »

  1.   

    可以看看CButtonST,这个类比较好
      

  2.   

    http://www.codeguru.com/Cpp/controls/buttonctrl/bitmapbuttons/article.php/c5173/
    http://www.codeguru.com/Cpp/controls/buttonctrl/bitmapbuttons/article.php/c5163/
    http://www.codeguru.com/Cpp/controls/buttonctrl/bitmapbuttons/article.php/c5177/
      

  3.   

    http://www.codeguru.com/Cpp/controls/buttonctrl/bitmapbuttons/article.php/c5173/
    这里我看过的,可是他是把位图存成.row格式的,与一般的方法不同,我想知道有没有一般一点的方法,把位图加入资源,来实现位图按钮的方法
      

  4.   


    class CBitmapbuttonDlg : public CDialog
    {
    // Construction
    public:
    CBitmapbuttonDlg(CWnd* pParent = NULL); // standard constructor
              CBitmapButton Button;//添加位图变量CBitmapbuttonDlg::CBitmapbuttonDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CBitmapbuttonDlg::IDD, pParent)
    { //{{AFX_DATA_INIT(CBitmapbuttonDlg)
    // NOTE: the ClassWizard will add member initialization here
    //}}AFX_DATA_INIT
    // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    //加载弹起和按下两种状态的位图
    Button.LoadBitmaps(IDB_OKU,IDB_BITMAP1);
    }BOOL CBitmapbuttonDlg::OnInitDialog()
    {
    CDialog::OnInitDialog();       ……………………………………
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE); // Set big icon
    SetIcon(m_hIcon, FALSE); // Set small icon

    // TODO: Add extra initialization here
    //为按钮控件指定位图
    VERIFY(Button.SubclassDlgItem(IDC_TRUE,this));
    //使按钮尺寸与位图尺寸相同
    Button.SizeToContent();

    return TRUE;  // return TRUE  unless you set the focus to a control
    }