鱼C论坛

 找回密码
 立即注册
查看: 2718|回复: 0

[API档案] Button Styles

[复制链接]
发表于 2017-5-6 04:40:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
按钮样式合集


原文链接 -> 传送门

如果你使用 CreateWindowCreateWindowEx 函数创建一个 BUTTON 类的按钮,你可以使用下面任意按钮样式的组合:

样式 描述
BS_3STATE1. 创建一个与复选框类似的按钮,不过该按钮除了选择和未选择两种状态之外,还有灰色状态

2. 灰色通常表示复选框的状态是不确定的
BS_AUTO3STATE创建一个与 BS_3STATE 相同的按钮,不过该按钮的状态选择是自动的(用户点击会自动在前面打勾勾)
BS_AUTOCHECKBOX创建一个与 BS_CHECKBOX 相同的按钮,不过该按钮的状态选择是自动的(用户点击会自动在前面打勾勾)
BS_AUTORADIOBUTTON创建一个与 BS_RADIOBOX 相同的按钮,不过该按钮的状态选择是自动的(用户点击会自动在前面画一个小圆点,并将清除同一组内的其他 BS_RADIOBOX 按钮前面的小圆点)
BS_BITMAP1. 指定按钮显示位图

2. 请查看备注部分与 BS_ICON 的交互
BS_BOTTOM将文本显示在按钮的底部
BS_CENTER将文本显示在按钮的水平居中位置
BS_CHECKBOX1. 创建一个带小方框和文本的按钮

2. 默认情况下,文本在小方框的右侧

3. 如果要将文本显示在小方框的左侧,请和 BS_LEFTTEXT 样式组合使用(或者与 BS_RIGHTBUTTON 样式组合)
BS_COMMANDLINK1. 创建一个命令链接按钮,它的行为类似于 BS_PUSHBUTTON 样式的按钮,但是命令链接按钮在左侧有一个绿色箭头指向文本

2. 可以通过向按钮发送 BCM_SETNOTE 消息来修改按钮的文本标题
BS_DEFCOMMANDLINK1. 创建一个样式与 BS_COMMANDLINK 相同的按钮

2. 如果按钮在对话框中,用户可以通过按下 ENTER 键选择命令链接按钮,即使该按钮没有输入焦点

3. 此样式对于让用户快速选择默认选项非常有用
BS_DEFPUSHBUTTON1. 创建一个行为与 BS_PUSHBUTTON 按钮类似但外观不尽相同的按钮

2. 如果按钮在对话框中,用户可以通过按下 ENTER 键选择命令链接按钮,即使该按钮没有输入焦点

3. 此样式对于让用户快速选择默认选项非常有用
BS_DEFSPLITBUTTON1. 创建一个行为与 BS_PUSHBUTTON 按钮类似但外观不尽相同的下拉按钮

2. 如果按钮在对话框中,用户可以通过按下 ENTER 键选择命令链接按钮,即使该按钮没有输入焦点

3. 此样式对于让用户快速选择默认选项非常有用
BS_GROUPBOX1. 创建一个矩形,可以将其他子窗口控件进行分组

2. 文本将显示在矩形的左上角位置
BS_ICON1. 指定按钮显示一个图标

2. 请查看备注部分与 BS_BITMAP 的交互
BS_FLAT1. 指定按钮显示为二维模式

2. 默认是使用阴影来创建 3D 图像
BS_LEFT1. 左对齐按钮中的文本

2. 如果复选框或单选按钮没有设置 BS_RIGHTBUTTON 样式,则文本在复选框或单选按钮的右侧保持左对齐
BS_LEFTTEXT1. 在与单选按钮或复选框一起组合使用时,使其文本出现在左侧

2. 效果与 BS_RIGHTBUTTON 样式一致
BS_MULTILINE如果由于按钮的文本太长而无法在一行内显示时,将文本显示为多行的形式
BS_NOTIFY1. 启用一个按钮,发送 BN_KILLFOCUSBN_SETFOCUS 通知码到其父窗口

2. 注意,无论按钮是否具备此样式,都可以发送 BN_CLICKED 通知码

3. 按钮需要具备 BS_RADIOBUTTON 或 BS_OWNERDRAW 样式,才可以发送 BN_DBLCLK 通知码
BS_OWNERDRAW1. 创建一个自绘按钮

2. 在需要重绘时,按钮的父窗口接收到 WM_DRAWITEM 消息

3. 不要将该样式与其他按钮样式组合使用
BS_PUSHBUTTON创建一个按钮,当用户点击按钮时,将 WM_COMMAND 消息发送到所有者窗口中
BS_PUSHLIKE使得一个按钮(如复选框,三态复选框或单选按钮)看上去像一个 PUSH 按钮。当按钮没有被按下或选择时,该按钮看上去是抬起的;当按钮被按下或选择时,该按钮看上去是下沉的
BS_RADIOBUTTON1. 创建一个带小圆圈和文本的按钮

2. 默认情况下,文本在小圆圈的右侧

3. 如果要将文本显示在小圆圈的左侧,请和 BS_LEFTTEXT 样式组合使用(或者与 BS_RIGHTBUTTON 样式组合)

4. 单选按钮是互斥的(也就是选中一个,另一个会取消选中)
BS_RIGHT1. 右对齐按钮中的文本

2. 如果复选框或单选按钮没有设置 BS_RIGHTBUTTON 样式,则文本在复选框或单选按钮的右侧保持右对齐
BS_RIGHTBUTTON1. 将单选按钮的小圆圈或复选框的小方框放在按钮的右侧

2. 效果与 BS_LEFTTEXT 样式一致
BS_SPLITBUTTON1. 创建一个下拉按钮

2. 下拉按钮拥有一个下拉箭头
BS_TEXT指定按钮显示文本
BS_TOP将文本显示在按钮的顶部
BS_TYPEMASK该样式已经过时,不要再使用
BS_USERBUTTON该样式已经过时,不要再使用
BS_VCENTER将文本显示在按钮的水平居中位置


备注:

有关主要按钮(如 BS_CHECKBUTTON 和 BS_GROUPBOX)的详细说明,请参阅 Button Types

按钮上的文本、图标外观取决于该按钮是 BS_ICON 还是 BS_BITMAP 样式,以及是否调用 BM_SETIMAGE 消息。

下面是几种可能的结果:

设置 BS_ICON 或 BS_BITMAP?调用 BM_SETIMAGE?结果
只显示图标
显示图标和文本
只显示文本
只显示文本


需求:

Header Winuser.h (包含于 Windows.h)


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 02:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表