怎么在按钮上贴图呢?已经为对话框建立好类了。
如何在按钮上贴图呢?已经为对话框建立好类了。。。
对话框已经建立好类了,也能显示。。
上面有几个按钮,请问用什么方法在这些按钮上各自贴不同的图呢?想了很久,没想出什么办法来。。。指点下可以吗
------解决方案--------------------
有没有试过把按钮声明成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存储了取消按钮的边界值。
对话框已经建立好类了,也能显示。。
上面有几个按钮,请问用什么方法在这些按钮上各自贴不同的图呢?想了很久,没想出什么办法来。。。指点下可以吗
------解决方案--------------------
有没有试过把按钮声明成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存储了取消按钮的边界值。