禁用lispworks capi:push-button-panel上的各个按钮

| 我正在使用常见的Lisp和LispWorks CAPI开发“四连环”游戏。除了一件事,我已经完成了界面的操作:我使用按钮(在按钮面板中)将片段放入列中,并且我希望在按钮的相应列已满时禁用该按钮。我对Lisp比较陌生,尤其是我不了解面向对象的内容,因此我不知道该怎么做。 可以这样创建一个按钮:
(setf my-button (capi:contain
                 (make-instance \'capi:push-button
                                :text \"Button!\")))
因此禁用:
(capi:apply-in-pane-process 
 my-button #\'(setf capi:button-enabled) nil my-button)
创建按钮面板的方式与此类似,不同之处在于按钮面板使用一个“ 2”参数,该参数是按钮列表(或CAPI将在其中创建按钮的数据)在面板中。 我只需要知道如何禁用按钮面板的各个按钮即可。如果您可以解释那里的最后一段代码中发生的事情,那也很好,因为我根本不理解。 谢谢!     
已邀请:
        仔细阅读本手册,您就会发现此功能,它使您可以启用/禁用
push-button-panel
中的一个或多个元素。另外,您要解释的代码使用参数
nil
my-button
调用函数
(setf capi:button-enabled)
。但是,此功能在与您的按钮关联的\“ process \”中调用。 (请参见此处的文档 (P.S.如果您需要帮助来理解“面向对象的东西”,“实用Common Lisp”可能是有用的资源)     

要回复问题请先登录注册