菜鸟问题:如何改变按钮颜色? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.vckbase.com/code/listcode.asp?mclsid=3&sclsid=301 把按钮的Owner draw属性钩上,再响应WM_CTLCOLOR消息如:HBRUSH CYourDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { if(nCtlColor==CTLCOLOR_BTN){ pDC->SetBkColor(RGB(98,0,0)); return ::CreateSolidBrush(RGB(98,0,0)); } if(nCtlColor==CTLCOLOR_DLG){ pDC->SetBkColor(RGB(0,98,98)); return ::CreateSolidBrush(RGB(0,98,98)); } HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); return hbr;}这是最简单的一种方法,另外方法就是自已去从CButton派生 自已从CButton派生扩展类!然后重载DrawItem函数,在其中添加语句 pDC = CDC::FromHandle(lpDrawItemStruct->hDC); pDC->SetBkMode(TRANSPARENT); CBrush brush; brush.CreateSolidBrush(你的颜色); pDC->FillRect(lpDrawItemStruct->rcItem, &brush); 有一个CButtonST的类到网上搜索一下. wm_oncolor消息对不button不管用的,应重载CButton类 在网络上下一个CButton的派生类,只要你在界面上的按钮定义变量为这个类,颜色等状态就会改变的。 继承CButton,然后在继承类的onerasebkgnd或onpaint事件中使用CDC重绘背景。 为什么完成端口最后是这样判是否接收完毕的? 求助:3D 旋转界面(4) 做的activex控件,不想谁的程序都能调用,可以用哪些方法进行限制? 简单问题 什么是COM+ 怎样在listbox中模拟LBN_DBLCLK消息?? 网上哪里有各种编程语言的试题的资源? 如何结合isapi、xml和xsl来做web服务程序 vc+isapi+xml+xsl MFC的_tWinMain函数的作用 CListBox里怎样显示不同目录的文件. 图象操作 这个问题很难的,就是我用ado打开一个好大的数据库,我怎么可以知道用了多少时间??
如:HBRUSH CYourDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if(nCtlColor==CTLCOLOR_BTN){
pDC->SetBkColor(RGB(98,0,0));
return ::CreateSolidBrush(RGB(98,0,0));
}
if(nCtlColor==CTLCOLOR_DLG){
pDC->SetBkColor(RGB(0,98,98));
return ::CreateSolidBrush(RGB(0,98,98));
}
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
这是最简单的一种方法,另外方法就是自已去从CButton派生
然后重载DrawItem函数,
在其中添加语句 pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
pDC->SetBkMode(TRANSPARENT);
CBrush brush;
brush.CreateSolidBrush(你的颜色);
pDC->FillRect(lpDrawItemStruct->rcItem, &brush);
到网上搜索一下.