首页 > 其他 > 详细

MFC 利用checkbox 做成切换开关按钮

时间:2014-05-07 03:55:43      阅读:439      评论:0      收藏:0      [点我收藏+]

        我们在做MFC程序时候经常会一个切换式的按钮,之前我的做法是利用buttion类的一个SetState()函数,但是返现效果不佳。而且容易出现点1按钮,焦点跑到另外一个按钮上去了  。后来看到别人一个程序。我发现他的切换效果做的很好 ,经过看代码发现,他用的控件根本不是buttion控件而是check box 控件。我就很奇怪,如何将check box变成了一个按钮的,经查看代码发现,原来是他将控件的属性------push lisk  (我的翻译是按下去像  纯字面理解)设置成true  如图

          bubuko.com,布布扣

    他就会变成一个按钮形状了,这时候 你给他添加控件变量和控件变量的值,在程序里面函数DoDataExchange(CDataExchange* pDX)中会生成 DDX_Control(pDX, IDC_BUTTON1, m_btn_AT);
DDX_Check(pDX, IDC_BUTTON1,  m_Check_AT);在头文件中会定义两个连个变量CButtion m_btn_AT;和BOOL m_Check_AT,  可以修改CButtion 为你重新写的类。然后我们添加按钮的消息响应函数:在消息响应函数中要添加函数UpdataData(true);这个函数会调用DoDataExchange(CDataExchange* pDX);

void C按钮凹凸效果Dlg::OnBnClickedCheck1()
{
UpdateData(TRUE);
if(m_Checked)
{
m_btn_check.SetWindowText(L"1状态 (开)");
m_btn_check.SetBitmaps(IDB_BITMAP1,RGB(255,255,255));
}
else 
{
m_btn_check.SetWindowText(L"0状态 (关)");
m_btn_check.SetBitmaps(IDB_BITMAP1,RGB(255,255,255));
}
}

这样一个切换开关就做好 ,按钮上还可以做上相应图片。哈哈  请大家放心使用 我在vs2005测试用了。

MFC 利用checkbox 做成切换开关按钮,布布扣,bubuko.com

MFC 利用checkbox 做成切换开关按钮

原文:http://blog.csdn.net/wuan584974722/article/details/25045737

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!