我通过单击默认-按钮试图改变在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) “我做到了。”))

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top