做网站系统浙江百度代理公司
文章目录
- 1 按下button 改变状态颜色
- 1.1 为Button按钮添加控件变量
- 2.2 在需要的地方更改控件的颜色
- 1.3 使用实例
1 按下button 改变状态颜色
button按下 根据按钮状态变色,比如开关打开 绿色,再按一下开关关闭 灰色
1.1 为Button按钮添加控件变量
为Button按钮添加控件变量
类别 控件
名称m_button_ComOpenStatus
变量类型 CMFCButton
添加成功后
2.2 在需要的地方更改控件的颜色
例如
void CSerialPortDlg::OnBnClickedOpencomButton()
{//这两行代码解决SetFaceColor显示不出来颜色问题m_button_ComOpenStatus.m_bTransparent = FALSE;m_button_ComOpenStatus.m_bDontUseWinXPTheme = TRUE;//消除黑圈m_button_ComOpenStatus.m_bDrawFocus = FALSE;//消除边框m_button_ComOpenStatus.m_nFlatStyle = CMFCButton::BUTTONSTYLE_NOBORDERS;//设置颜色m_button_ComOpenStatus.SetFaceColor(RGB(255, 0, 0), true);}
1.3 使用实例
串口状态显示:
串口关闭状态下,显示灰色,打开串口
串口打开状态下,显示绿色,关闭串口
//串口状态显示
void CSerialPortDlg::OnBnClickedOpencomButton()
{// TODO: 在此添加控件通知处理程序代码//设置按钮颜色//这两行代码解决SetFaceColor显示不出来颜色问题m_button_ComOpenStatus.m_bTransparent = FALSE;m_button_ComOpenStatus.m_bDontUseWinXPTheme = TRUE;//消除黑圈//m_button_ComOpenStatus.m_bDrawFocus = FALSE;//消除边框m_button_ComOpenStatus.m_nFlatStyle = CMFCButton::BUTTONSTYLE_NOBORDERS;//设置颜色//m_button_ComOpenStatus.SetFaceColor(RGB(0, 255, 0), true);m_COMStatu = !m_COMStatu;if (!m_COMStatu) {//串口关闭状态下,显示灰色,打开串口m_button_ComOpenStatus.SetFaceColor(RGB(225, 225, 225), true);//GetDlgItem(IDC_PORTisOPEN_STATIC)->SetWindowText(_T(" 已关闭"));m_button_ComOpenStatus.SetWindowTextW(_T("打开串口"));}else {//串口打开状态下,显示绿色,关闭串口m_button_ComOpenStatus.SetFaceColor(RGB(0, 255, 0), true);//GetDlgItem(IDC_PORTisOPEN_STATIC)->SetWindowText(_T(" 已打开"));m_button_ComOpenStatus.SetWindowTextW(_T("关闭串口"));}OnCbnSelchangeComboCom();DisplayStatus();return;
}
初始状态
串口打开状态下,显示绿色,关闭串口
串口关闭状态下,显示灰色,打开串口