首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用lispworks capi上的单个按钮:按钮面板

禁用lispworks capi上的单个按钮:按钮面板
EN

Stack Overflow用户
提问于 2011-06-13 12:04:46
回答 1查看 259关注 0票数 3

我正在使用常见的lisp和LispWorks CAPI开发一个连接4的游戏。除了一件事之外,我已经完成了界面:我使用按钮(在按钮面板中)将片段放入列中,并且我希望在相应的列已满时禁用该按钮。我对lisp比较陌生,尤其不了解面向对象的东西,所以我想不出该怎么做。

可以按如下方式创建单个按钮:

代码语言:javascript
复制
(setf my-button (capi:contain
                 (make-instance 'capi:push-button
                                :text "Button!")))

并因此被禁用:

代码语言:javascript
复制
(capi:apply-in-pane-process 
 my-button #'(setf capi:button-enabled) nil my-button)

按钮面板的创建方式与此类似,不同之处在于它需要一个:items参数,该参数是面板中的按钮列表(或数据,CAPI将从中创建按钮)。

我只需要知道如何禁用按钮面板上的各个按钮。另外,如果你能解释一下最后一段代码中发生了什么,那就太好了,因为我根本不理解它。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-13 21:55:33

稍微搜索一下手册就会发现this function,它允许您启用/禁用push-button-panel中的一个或多个元素。此外,您想要解释的代码使用参数nilmy-button调用函数(setf capi:button-enabled)。但是,此函数是在与您的按钮关联的“进程”中调用的。(请参阅文档here

(附注:如果你需要帮助理解“面向对象的东西”,Practical Common Lisp可能是一个有用的资源)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6326565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档