收录日期:2018/12/11 04:20:23 时间:2016/05/18 06:54:46 标签:基础类
请问如何在CButton控件上同时显示文本和图标? 谢谢大家了!
兄弟,上MFC开发者指南网站,上面有基于CButton封装的按钮类,支持你所说的。
http://www.vchelp.net/vchelp/vchelp.asp
继承CButton,定义自己的按钮类:
class CPlayButton : public CButton
{
public:
CPlayButton();

public:

// 
//{{AFX_VIRTUAL(CPlayButton)
public:
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
//}}AFX_VIRTUAL
         void ShowIcon(int nType);
DWORD SetIcon(DWORD nID)
}
void CPlayButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 
{
// TODO: 
CDC *pDC;
pDC = CDC::FromHandle(((LPDRAWITEMSTRUCT)lpDrawItemStruct)->hDC);
pDC->DrawIcon(0,0,m_hIcon);
}


DWORD CPlayButton::SetIcon(DWORD nID)
{
m_hIcon= AfxGetApp()->LoadIcon(nID);

if (NULL == m_hIcon)
    return 0;
return 1;
         Invalidate();
}

你的调用:
BOOL CMiniPlayerDlg::OnInitDialog()
{
CDialog::OnInitDialog();
.......
         CPlayButton playBtn;
         playBtn.SetIcon(图标ID);
.......
}
谢谢你了!
我试一试。
不错
图方便的话你也可以用CButtonST
http://www.codeproject.com/buttonctrl/cbuttonst.asp
谢谢,我已经使用CButtonST了,但是为什么我只能在最多两个按扭上加图标,超过两个就会出现错误!
仔细看看例程
没问题的 我在用
谢谢你,我已经看过例程了,但问题依然存在,是这样的:
新建一个工程,在程序里加入CButtonST类。这样就可以显示多个图标按扭了。
可是如果在以前建立好了程序中加入CButtonST类后,就只能改变最多两个按扭。

请大家推荐一个比较好用的新闻发布系统,谢了 输出的新闻如何分段?急!!! 为什么我的win2003安装不了iis 6.0 我刚建的ORACLE数据库进行数据查询时特别慢,不知什么原因,请帮帮忙!谢谢! 我这里有Motorola的AT指令,包含所有隐藏的AT指令,相当有用。 谁了解微创软件公司 关于一个数据库输入FORM的刷新问题 (高分啊) 够不够,再来一次 问题,关于图片资源的问题! shift-tab 请教:如何在脚本中实现录音。 我的钩子函数为什么安装失败????代码贴出来,请各位看看啊 大家帮忙起个名字。 关于 在在客户端new一个对象,然后在服务器里面delete的问题 不同系统不同IP段怎么共享打印????? 事不过三 我的钩子函数为什么安装失败????代码贴出来,请各位看看啊 Radio Button如何使用? 哪里可以下载 sql server 2000 个人版,急!!! 如何让REAL ONE PLAYER在线观看影视时缓冲没到100%就开始播放(如下载到20%)? 第一个猜中第40楼是谁的人150分全部拿走 调试asp.net如何做到自动弹出变量监视窗口 请给点建议吧 客户端导出EXCEL(利用ActiveXObject(\"Excel.Application\"))的问题 JBuilder中的Jar功能怎么用 编写递归算法求树的度 用WiseInstaller制作安装程序时,如何获得安装路径并写入注册表中?(我用了 %MAINDIR%, 但是长路径名被缩写成 XXXXXX~1) 如果使用dbexpress如何将二进制流插入到oracle数据库的blob字段中? 怎样把局域网中的机器假设成可以供外面访问的web服务器? 求助:关于IE显示控件问题