怎么在按钮上贴图呢?已经为对话框建立好类了。

如何在按钮上贴图呢?已经为对话框建立好类了。。。
对话框已经建立好类了,也能显示。。
上面有几个按钮,请问用什么方法在这些按钮上各自贴不同的图呢?想了很久,没想出什么办法来。。。指点下可以吗

------解决方案--------------------
有没有试过把按钮声明成CBitmapButton

然后用SetBitmap
------解决方案--------------------
图按钮。

将确定的按钮的自画风格钩上,将确定按钮的标题改为OK,加四幅位图, “OKU”,”OKD”,”OKF”,”OKX”,分别对就按钮弹起来,被按下去,获得焦点,禁用情况,注意位图名有引号。

定义一个成员变量CBitmapButton bb,在OnInitDialog()加

bb.AutoLoad(IDOK,this);

有一个问题要注意,当点上自画时,默认按钮会被取消,所以你必须重新设定一个默认按钮。

将上面的一句改成:

bb.LoadBitmaps( "OKU ");//最多可以加载4幅,至少加载一幅。

bb.SubclassDlgItem(IDOK,this);//与控件建立关联。

bb.SizeToContent();//改变控件的大小来适应位图



自画按钮:

将取消按钮的自画钩上,Ctrl+w打开类向导,双击加CControlDlg的消息WM_DRAWITEM的响应函数。

void CControlsDlg::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)

{

if(IDCANCEL ==nIDCtl)

{

CDC *pDC = new CDC();

pDC-> Attach(lpDrawItemStruct-> hDC);

pDC-> TextOut(10,10, "haha ");

}



CDialog::OnDrawItem(nIDCtl, lpDrawItemStruct);

}

备用函数

CRect r;

GetClientRect(&r);

r存储了取消按钮的边界值。