42.20.2 按钮类型

每个按钮都有一个 按钮类型(button type), 用于定义按钮属性的默认值。按钮类型按层级组织, 专用类型继承自更通用的类型, 因此可以很方便地为特定任务定义专用按钮类型。

Function: define-button-type name &rest properties

定义一个名为 name 的按钮类型(符号)。 其余参数为一系列 property value 键值对, 用于指定该类型按钮的默认属性值 (创建按钮时可通过 type 属性 或 :type 关键字参数设置按钮类型)。

此外,可以使用关键字参数 :supertype 指定一个父按钮类型,使 name 从该类型继承默认属性。 注意继承仅在 name 被定义时生效; 后续对父类型的修改不会反映到子类型中。

并非必须使用 define-button-type 为按钮定义默认属性— 未指定类型的按钮会使用内置类型 button— 但推荐这样做,因为这通常会让代码更清晰、更高效。