收录日期:2019/03/27 11:12:22 时间: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类后,就只能改变最多两个按扭。

严肃的问题:千辛万苦解决程序bug的快感和sex的快感,何者较大? 哪位大哥有visual cafe4。5的注册码? win98中找不到光驱了帮帮忙。。。。。。。。。。。 请问各位高手有关winform下treeview的问题,谢谢,在线等。 如何实现像VS帮助中的索引那样的功能?随着敲入的字符,内容也变化? 大家有没有谁用ZIPPO打火机的吗?散分200 如何用公式将RTF域里的内容清除,也就将RTF域变为空!!谢谢 急!!!200分相送 我怎么检查比如一个按钮是否获得了焦点? win98中找不到光驱了 在线等待......一个非常急的问题??大家快来看一下啊!!! 急!!!200分相送 online waiting!! 问一下关于时间的问题 在线等待......一个非常急的问题??大家快来看一下啊!!! 请问怎样写对象集合? 计算机网络理论问题...... 你思考过传奇吗?思考过SQLSERVER吗? 计算机网络理论问题..... 谁来试一下 祝福你:水园的那些即将上战场的兄弟姐妹们! 为什么我用jsp调用oracle8i时,无法用beforeFirst(),高手帮帮忙! 求助,谢谢 TO 苦丁香:如何动态显示把十进制转换为二进制??????????? 呵呵~~我用ASP连接SQL SERVER,出了点问题~~大家帮忙解决啊~~ 什么版本的浏览器可以使用ASP.NET的网页 使用ADOX操作SQL SERVER的问题,“不支持此接口”? 提高SQL数据输出性能 不知道版主对iamatiger (不问国事,一心赚钱) 如何处理? 请问如何对sysobject表加触发?