在ScriptUI控件的窗口已经显示后更改该控件
Changing a ScriptUI control after its window is already shown
所以这次我有一个(希望)简单的。我有一个用ExtendScript为Adobe InDesign CS6编程的ScriptUI窗口。它包含一个StaticText控件。在这个对话框窗口显示给用户之后,我想根据用户所做的一些操作来更改StaticText控件的文本。以下是我的问题的一个非常简化的版本:
var w = new Window("dialog");
var t = w.add("statictext", undefined, "Hello");
w.show();
t.text = "Good evening";
在上面的例子中,"Hello"从未变为"Good night"。然而,我发现,如果我在这个窗口中添加一个进度条控件,并与StaticText控件一起定期更新它,它会允许文本更改,但如果第二行比原始文本长,文本就会被截断。
就好像StaticText控件的宽度是在创建时设置的,并且在显示其窗口后永远无法更改。如果这只是ScriptUI的一个限制,请告诉我,我会处理它。否则,请告诉我们我是否可以做些什么来动态更改StaticText,并接受更长的文本行而不被截断。谢谢
尝试将multiline
设置为true
:
var w = new Window("dialog");
var t = w.add("statictext", undefined, "Hello", {multiline:true});
w.show();
t.text = "Good evening";
这样可以防止文本在第一行之后被截断。
您可以通过在文本字符串中添加返回字符('r
或'n
)来测试它:
t.text = "Good'revening"
这是我通常使用的结构[编辑:事实上,这表明它有点好]:
//global:
var n=1;
//////////////////////////
function doTextChange(target, newText) {
target.text = newText;
}
var win = new Window('dialog', 'dialog',[300,100,645,396]);
var w = buildUI();
if (w != null) {
w.show();
}
function buildUI() {
if (win != null) {
win.t = win.add("statictext", [14,15,314,37], "Hello");
win.closeBtn = win.add('button', [240,210,320,232], 'Close', {name:'Cancel'});
win.changeBtn = win.add('button', [240,210+33,320,232+33], 'Change', {name:'Cancel'});
win.closeBtn.onClick = function () { this.parent.close(1) };
win.changeBtn.onClick = function () { n++;doTextChange( win.t, "Good evening " + n);};
}
return win
}
相关文章:
- 音频控件在mouseover上显示,在mouseout上淡出
- 从服务器获取数据并在选择控件中使用ng选项无法显示选项
- Firefox-当不在输入控件上时隐藏焦点高亮显示
- 获取中继器控件ASP.Net中显示的单击项目文本框
- 如何在Asp.net标签控件中显示Javascript函数值
- 如何隐藏和显示标签控件JavaScript
- 为什么WebBrowser控件在保存后不能正确显示HTML
- 显示使用 Jquery 的控件的错误消息
- Angularjs:目录分页控件没有'即使按下页面按钮,也不会显示下一页
- 基于下拉选择显示/隐藏控件mvc 4 razor c#
- 在ScriptUI控件的窗口已经显示后更改该控件
- 将页面控件添加到数据表,但当代码运行时,页面中不显示任何内容
- HIde / 在嵌套的 FormView 中使用 Javascript 显示控件
- asp.net 图表控件显示不正确的工具提示日期时间值
- 如何让我的 ASP 表控件显示/隐藏?(并不像听起来那么简单)
- 如何使视频控件显示在firefox中
- 谷歌地图平移控件显示,但不工作(在移动设备上)
- 使用外部控件显示下拉菜单
- Google Maps API v3控件显示在地图后面
- 日历控件显示日期事件