码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-05-07 03:56:38      阅读:460      评论:0      收藏:0      [点我收藏+]

标签:style   ext   文件   set   c   rgb   

        我们在做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 做成切换开关按钮

标签:style   ext   文件   set   c   rgb   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!