更改快板CL可编辑的文本值
-
19-09-2019 - |
题
我通过单击默认-按钮试图改变在Allegro CL可编辑文本控制的值(8.0.1版本)。
我读过有关(setf value)
,但没有发现任何实施例。
我ttached到接通点击事件是该函数以下
(defun form1-default-button-2-on-click (dialog widget)
(declare (ignorable dialog widget))
t)
正如你可以看到有一个缺乏有代码:)我已经试过各种方法,如(setf (slot value :txt 'value) 'TEXT)
和(setf value 'TEXT)
但无济于事。
表格中的对话项锁孔与
定义的下列元素的列表(list (make-instance 'default-button :font
(make-font-ex nil "Segoe UI / Default" 12) :left
56 :name :default-button-2 :on-change
'form1-default-button-2-on-change :top 36)
(make-instance 'editable-text :font
(make-font-ex nil "Segoe UI / Default" 12) :left
52 :name :txt :top 152 :value "")
)
任何帮助?由于事先。
解决方案
(setf (slot-value widget 'value) "foo")
喜欢的东西上面。你需要得到正确的包符号值。有可能是也喜欢WIDGET-VALUE的存取功能。然后(SETF(插件值插件) “foo” 的)可能工作...
我不是一个ACL用户 - 有可能是更好的方法。 ACL具体问题是在他们的用户邮件列表最好问。
其他提示
有一个例子某处franz.com,我发现这样的:
(defun form1-button5-on-change (widget new-value old-value)
(declare (ignorable widget new-value old-value))
(let ((szerkeszto (find-sibling :multi-line-editable-text-1 widget)))
(setf (value szerkeszto) "bla" ))
t) ; Accept the new value
符号“szerkeszto”成为多行编辑的文本-1,然后可以使用SETF像上面设置适当的属性(如“值”)。
希望这有助于。
您需要使用函数“找到-组件”和“值”在一起。
“查找成分”功能查找小部件在您的项目 和“值”返回窗口小部件的值。
如果你在一个形式的静态文本,就可以改变静态文本的值是这样的。
(让((ED1(找到组分:静态文本-1:form1中))) (SETF(值ED1) “我做到了。”))
不隶属于 StackOverflow