按钮类控件

         按钮类控件是窗口类名被系统预定义为BUTTON的一类控件,该类控件具有十余种不同的窗口风格,包含了普通的下压式按钮、单选按钮、复选按钮和分组框等多种常用的按钮形式。具体情况列表如下:

按钮风格说明
BS_AUTOCHECKBOX同复选按钮类似,点击一下选中,再次点击取消。
BS_AUTORADIOBUTTON同单选按钮类似,点击后选中标志将从同组的其他单选按钮处移到当前选项。
BS_AUTO3STATE同三态复选按钮类似,只是在用户点击后改变状态。
BS_CHECKBOX复选按钮
BS_DEFPUSHBUTTON下压按钮,具有较黑的边框。
BS_GROUPBOX分组框
BS_LEFTTEXT同单选按钮或复选按钮配合使用,标题将显示在左侧。
BS_OWNERDRAW可创建一个拥有者自绘按钮。
BS_PUSHBUTTON 普通下压按钮
BS_RADIOBUTTON单选按钮
BS_3STATE三态复选按钮

  以上按钮风格通常需要同窗口风格共同使用,由CreateWindow()函数或MFC的CButton类成员函数Create()完成对按钮的创建:

// 按钮类窗口风格
DWORD STYLE[9] = {BS_AUTOCHECKBOX,
BS_AUTORADIOBUTTON,
BS_AUTO3STATE,
BS_CHECKBOX,
BS_DEFPUSHBUTTON,
BS_GROUPBOX,
BS_PUSHBUTTON,
BS_RADIOBUTTON,
BS_3STATE};
// 动态创建按钮
for (int i = 0; i < 9; i++)
{
m_ctrButton[i].Create("BUTTON", WS_VISIBLE | WS_CHILD | WS_BORDER | STYLE[i], CRect(10 + 110 * i, 10, 100 + 110 * i, 40), this, IDC_BUTTON1 + i);
}

  如果需要处理按钮发送给其父窗口的消息,可以在进行消息响应的类实现中添加一个如下形式的消息映射入口和相应的消息处理函数:

ON_Notification(id, memberFxn )

  其中,id为发送通知消息的按钮ID号,memberFxn为消息处理函数。如果按钮是以new操作符的方式在堆(heap)内创建一个CButton对象,那么就必须确保在关闭窗口前能调用delete销毁该对象。如果CButton对象是在栈上创建的就不必显式销毁对象了,应用程序在退出时会自动予以销毁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值