开始认为这个问题很简单,可是搞了半天没搞明白!
   起初,我用在窗口中创建CButtonST的方法,没成功!它根本就不能够用DDX做,
后来用子类化的也没成功。   后来发现CDialogBar根本就不响应自己的消息,消息要放在CMainFrom 或CView中,
我就想到用在CToolBar中创建控件的方法,但是CButtonST不提供Creat函数!请教高人指点迷津!谢谢!

解决方案 »

  1.   

    在dlg中加一个button控件,在wizard中将她关联到一个控件m_button;然后在文件中找到,将CButton改成CButtonST.试试。
      

  2.   

    CButtonST m_btnBitmap;
    在oninitdialog里面
    // Bitmap button
    m_btnBitmap.SetBitmaps(IDB_BUTTON, RGB(255, 0, 255));
    m_btnBitmap.SetAlign(CButtonST::ST_ALIGN_OVERLAP, FALSE);
    m_btnBitmap.SetPressedStyle(CButtonST::BTNST_PRESSED_TOPBOTTOM, FALSE);
    m_btnBitmap.SetColor(CButtonST::BTNST_COLOR_FG_IN, RGB(255, 255, 255));
    m_btnBitmap.SetColor(CButtonST::BTNST_COLOR_FG_OUT, RGB(0, 0, 0));
    m_btnBitmap.SizeToContent();
    m_btnBitmap.DrawBorder(FALSE, FALSE);
    在void CDlgAdvanced::DoDataExchange(CDataExchange* pDX)里面
    DDX_Control(pDX, IDC_BTNBITMAP, m_btnBitmap);
    应该就可以用了
      

  3.   

    你下载这个控件的时候里面有DEMO的,你可以看看它是怎么实现的
      

  4.   

    在dlg中加一个button控件,在wizard中将她关联到一个控件m_button;然后在文件中找到,将CButton改成CButtonST。  响应消息:  在需要响应消息的类中自己加入消息处理就可以了。CDialogBar中Dlg里的Button有了响应处理后才有效(可用)。