26 个解决方案
#1
按钮也是窗口,先得到HWND,然后填充背景就行。
#2
GetDC
FillRect
FillRect
#3
如果使用的MFC:那就使用CButton的SetBitmap函数,直接将一个图片帖这儿。
#4
我也顺便学习一下,呵呵
#5
看看CButtonST:http://www.codeproject.com/KB/buttons/cbuttonst.aspx
#6
SetBitmap,直接弄个红色的图贴上去,快速高效
#7
CDC* pDC = m_YourButton.GetDC();
CRect rtButton;
YourButton.GetClientRect(&rtButton);
pDC->FillSolidRect(&rtButton, RBG(255,0,0));
#8
楼上的方法,一刷新,红色就没有了。不如用现成的彩色控件,网上多的很。
#9
看看这个,绝对包你满意!!!!!
#10
有没有不需要button派生类的,我要的其实就是个简单的操作的
if(m_edit1 >0.1) //超限
{
button1按钮变成红色
}
我就是想要这个简单的。
我的编辑框数据超限也会显示红色的,我用了一个OnCtlColor,有没有在此基础上做的,我在程序里面加了
if(nCtlColor==CTLCOLOR_BTN && pWnd->GetDlgCtrlID()==IDC_BUTTON1) 好像都不起作用的
if(m_edit1 >0.1) //超限
{
button1按钮变成红色
}
我就是想要这个简单的。
我的编辑框数据超限也会显示红色的,我用了一个OnCtlColor,有没有在此基础上做的,我在程序里面加了
if(nCtlColor==CTLCOLOR_BTN && pWnd->GetDlgCtrlID()==IDC_BUTTON1) 好像都不起作用的
#11
按钮美化的一些代码
http://www.vckbase.com/code/listcode.asp?mclsid=3&sclsid=301
http://www.vckbase.com/code/listcode.asp?mclsid=3&sclsid=301
#12
重绘按钮类 具体可以参照孙鑫VC++第十章内容
这书网上搜下很多的电子版本 绘制过程也不是很麻烦
这书网上搜下很多的电子版本 绘制过程也不是很麻烦
#13
用其中的美化的按钮的类,或者你自己再在CButton派生一个类,自己写代码
#14
CButtonST SetbkColor 函数
#15
我需要程序代码的,贴出来,网上这么多的,都看乱了
#16
CButton派生一个类自己在里面写代码的,
if(m_edit1 《0.1) //不超限
{
button1按钮为绿色
}
else //超限
{
button按钮为红色
}
为什么当数据超限还显示绿色,只有当我单击一下按键才显示红色,我想实现的当数据超限后按钮自己直接变为红色
if(m_edit1 《0.1) //不超限
{
button1按钮为绿色
}
else //超限
{
button按钮为红色
}
为什么当数据超限还显示绿色,只有当我单击一下按键才显示红色,我想实现的当数据超限后按钮自己直接变为红色
#17
添加windows消息OnCtlColor就行了吧
#18
添加windows消息OnCtlColor 不行的,不能改变背景色,我试过了,所以我才用派生类的
#19
第一: 使用 其他的Button类 CButtonST 好象
第二 OnCtlColor 应该是可以的·而且是优选。。判断当前绘制的是你想改的Button然后,还回一个你需要的颜色的画刷过去
第二 OnCtlColor 应该是可以的·而且是优选。。判断当前绘制的是你想改的Button然后,还回一个你需要的颜色的画刷过去
#20
CButton派生一个类自己在里面写代码的,
if(m_edit1 《0.1) //不超限
{
button1按钮为绿色
}
else //超限
{
button按钮为红色
}
为什么当数据超限还显示绿色,只有当我单击一下按键才显示红色,我想实现的当数据超限后按钮自己直接变为红色
现在我的问题是不是没有返回颜色的画刷
if(m_edit1 《0.1) //不超限
{
button1按钮为绿色
}
else //超限
{
button按钮为红色
}
为什么当数据超限还显示绿色,只有当我单击一下按键才显示红色,我想实现的当数据超限后按钮自己直接变为红色
现在我的问题是不是没有返回颜色的画刷
#21
在OnCtlColor里去判断ID号来实现按钮背景换色
#22
在OnCtlColor里去判断ID号来实现按钮背景换色,我试过了,没有效果的,但在OnCtlColor里面我还判断了edit框的,我加了判断按钮改变的背景色的,结果没有效果的
#23
COLORREF m_NewColor = RGB(255,5,5);
CBrush *pOldBrush;
CBrush cBrush;
CRect rect; // TODO: Add your message handler code here and/or call default
GetDlgItem(ID)->GetClientRect(rect); //得到控件区域
// this->ScreenToClient(rect);
CDC* dc = GetDlgItem(ID)->GetDC(); //得到控件DC
cBrush.CreateSolidBrush(m_NewColor); //用新的颜色建立新画刷
pOldBrush = dc->SelectObject(&cBrush);//、 //选择新画刷,并保存旧画刷
dc->FillRect(rect, &cBrush); //重绘控件背景
dc->SelectObject(pOldBrush);
我用这个改变静态文本框的颜色,你试下。
CBrush *pOldBrush;
CBrush cBrush;
CRect rect; // TODO: Add your message handler code here and/or call default
GetDlgItem(ID)->GetClientRect(rect); //得到控件区域
// this->ScreenToClient(rect);
CDC* dc = GetDlgItem(ID)->GetDC(); //得到控件DC
cBrush.CreateSolidBrush(m_NewColor); //用新的颜色建立新画刷
pOldBrush = dc->SelectObject(&cBrush);//、 //选择新画刷,并保存旧画刷
dc->FillRect(rect, &cBrush); //重绘控件背景
dc->SelectObject(pOldBrush);
我用这个改变静态文本框的颜色,你试下。
#24
在网上找一下st的按钮,看看.
#25
看了CButtonST:http://www.codeproject.com/KB/buttons/cbuttonst.aspx
还不错~
还不错~
#26
在OnCtlColor里,谁能改变按钮的颜色的,能把代码弄一下让我们看吗
#1
按钮也是窗口,先得到HWND,然后填充背景就行。
#2
GetDC
FillRect
FillRect
#3
如果使用的MFC:那就使用CButton的SetBitmap函数,直接将一个图片帖这儿。
#4
我也顺便学习一下,呵呵
#5
看看CButtonST:http://www.codeproject.com/KB/buttons/cbuttonst.aspx
#6
SetBitmap,直接弄个红色的图贴上去,快速高效
#7
CDC* pDC = m_YourButton.GetDC();
CRect rtButton;
YourButton.GetClientRect(&rtButton);
pDC->FillSolidRect(&rtButton, RBG(255,0,0));
#8
楼上的方法,一刷新,红色就没有了。不如用现成的彩色控件,网上多的很。
#9
看看这个,绝对包你满意!!!!!
#10
有没有不需要button派生类的,我要的其实就是个简单的操作的
if(m_edit1 >0.1) //超限
{
button1按钮变成红色
}
我就是想要这个简单的。
我的编辑框数据超限也会显示红色的,我用了一个OnCtlColor,有没有在此基础上做的,我在程序里面加了
if(nCtlColor==CTLCOLOR_BTN && pWnd->GetDlgCtrlID()==IDC_BUTTON1) 好像都不起作用的
if(m_edit1 >0.1) //超限
{
button1按钮变成红色
}
我就是想要这个简单的。
我的编辑框数据超限也会显示红色的,我用了一个OnCtlColor,有没有在此基础上做的,我在程序里面加了
if(nCtlColor==CTLCOLOR_BTN && pWnd->GetDlgCtrlID()==IDC_BUTTON1) 好像都不起作用的
#11
按钮美化的一些代码
http://www.vckbase.com/code/listcode.asp?mclsid=3&sclsid=301
http://www.vckbase.com/code/listcode.asp?mclsid=3&sclsid=301
#12
重绘按钮类 具体可以参照孙鑫VC++第十章内容
这书网上搜下很多的电子版本 绘制过程也不是很麻烦
这书网上搜下很多的电子版本 绘制过程也不是很麻烦
#13
用其中的美化的按钮的类,或者你自己再在CButton派生一个类,自己写代码
#14
CButtonST SetbkColor 函数
#15
我需要程序代码的,贴出来,网上这么多的,都看乱了
#16
CButton派生一个类自己在里面写代码的,
if(m_edit1 《0.1) //不超限
{
button1按钮为绿色
}
else //超限
{
button按钮为红色
}
为什么当数据超限还显示绿色,只有当我单击一下按键才显示红色,我想实现的当数据超限后按钮自己直接变为红色
if(m_edit1 《0.1) //不超限
{
button1按钮为绿色
}
else //超限
{
button按钮为红色
}
为什么当数据超限还显示绿色,只有当我单击一下按键才显示红色,我想实现的当数据超限后按钮自己直接变为红色
#17
添加windows消息OnCtlColor就行了吧
#18
添加windows消息OnCtlColor 不行的,不能改变背景色,我试过了,所以我才用派生类的
#19
第一: 使用 其他的Button类 CButtonST 好象
第二 OnCtlColor 应该是可以的·而且是优选。。判断当前绘制的是你想改的Button然后,还回一个你需要的颜色的画刷过去
第二 OnCtlColor 应该是可以的·而且是优选。。判断当前绘制的是你想改的Button然后,还回一个你需要的颜色的画刷过去
#20
CButton派生一个类自己在里面写代码的,
if(m_edit1 《0.1) //不超限
{
button1按钮为绿色
}
else //超限
{
button按钮为红色
}
为什么当数据超限还显示绿色,只有当我单击一下按键才显示红色,我想实现的当数据超限后按钮自己直接变为红色
现在我的问题是不是没有返回颜色的画刷
if(m_edit1 《0.1) //不超限
{
button1按钮为绿色
}
else //超限
{
button按钮为红色
}
为什么当数据超限还显示绿色,只有当我单击一下按键才显示红色,我想实现的当数据超限后按钮自己直接变为红色
现在我的问题是不是没有返回颜色的画刷
#21
在OnCtlColor里去判断ID号来实现按钮背景换色
#22
在OnCtlColor里去判断ID号来实现按钮背景换色,我试过了,没有效果的,但在OnCtlColor里面我还判断了edit框的,我加了判断按钮改变的背景色的,结果没有效果的
#23
COLORREF m_NewColor = RGB(255,5,5);
CBrush *pOldBrush;
CBrush cBrush;
CRect rect; // TODO: Add your message handler code here and/or call default
GetDlgItem(ID)->GetClientRect(rect); //得到控件区域
// this->ScreenToClient(rect);
CDC* dc = GetDlgItem(ID)->GetDC(); //得到控件DC
cBrush.CreateSolidBrush(m_NewColor); //用新的颜色建立新画刷
pOldBrush = dc->SelectObject(&cBrush);//、 //选择新画刷,并保存旧画刷
dc->FillRect(rect, &cBrush); //重绘控件背景
dc->SelectObject(pOldBrush);
我用这个改变静态文本框的颜色,你试下。
CBrush *pOldBrush;
CBrush cBrush;
CRect rect; // TODO: Add your message handler code here and/or call default
GetDlgItem(ID)->GetClientRect(rect); //得到控件区域
// this->ScreenToClient(rect);
CDC* dc = GetDlgItem(ID)->GetDC(); //得到控件DC
cBrush.CreateSolidBrush(m_NewColor); //用新的颜色建立新画刷
pOldBrush = dc->SelectObject(&cBrush);//、 //选择新画刷,并保存旧画刷
dc->FillRect(rect, &cBrush); //重绘控件背景
dc->SelectObject(pOldBrush);
我用这个改变静态文本框的颜色,你试下。
#24
在网上找一下st的按钮,看看.
#25
看了CButtonST:http://www.codeproject.com/KB/buttons/cbuttonst.aspx
还不错~
还不错~
#26
在OnCtlColor里,谁能改变按钮的颜色的,能把代码弄一下让我们看吗