textbox - 如何在 dm-script 中动态使用对话框文本框
问题描述
如何TextBox
在 dm-script 的对话框中设置和获取 a 的文本?
查看以下示例对话框。它创建一个包含TextBox
. 我想在创建时设置这个值TextBox
。我想修改(获取和设置)函数调用的值,比如单击按钮。
如给定代码所示,我尝试了DLGValue()
、DLGTitle()
和DLGLabel()
。但他们都没有工作。我该怎么做呢?
注意:“显示”按钮显示当前TagGroup
代表TextBox
. 我希望在初始状态或元素更改后看到一些东西。但我什么也找不到。
class ExampleDialog : UIFrame{
number counter;
TagGroup field;
void addText(object self){
string msg = "Added text the " + counter + "-th time.\n";
string current_text = field.DLGGetStringValue();
field.DLGValue(current_text + "Value: " + msg);
field.DLGTitle(current_text + "Title: " + msg);
field.DLGLabel(current_text + "Label: " + msg);
result(msg);
field.DLGInvalid(1);
self.validateView();
counter++;
}
void showTg(object self){
field.TagGroupOpenBrowserWindow(0);
}
object init(object self){
TagGroup dlg, dlg_items;
counter = 1;
dlg = DLGCreateDialog("Example", dlg_items);
dlg.DLGAddElement(DLGCreatePushButton("Update", "addText"));
dlg.DLGAddElement(DLGCreatePushButton("Show", "showTg"));
field = DLGCreateTextBox(100, 10, 1);
field.DLGValue("Value: Initial");
field.DLGTitle("Title: Initial");
field.DLGLabel("Label: Initial");
dlg.DLGAddElement(field);
self.super.init(dlg);
return self;
}
}
alloc(ExampleDialog).init().pose();
解决方案
这将做:
class handler : UIFrame {
void ShowText( object self ) {
string str = self.GetTextElementData("textBox");
result( "text box :[" + str + "]\n");
return;
};
void SetText( object self ) {
string str = ""
for(number i=0;i<100;i++) str+=CHR(64+Random()*26);
self.SetTextElementData("textBox",str);
return;
};
};
number boxWidth = 40, boxHeight = 4, txtLength = 160;
TagGroup Dialog = DLGCreateDialog( "text box");
TagGroup txtScript = DLGCreateTextBox( boxWidth, BoxHeight, txtLength ).DLGIdentifier( "textBox" );
TagGroup tgButton1 = DLGCreatePushButton( "Set random text", "SetText" );
TagGroup tgButton2 = DLGCreatePushButton( "show text in result window", "ShowText" );
Dialog.DLGAddElement( tgButton1 );
Dialog.DLGAddElement( tgButton2 );
Dialog.DLGAddElement( txtScript );
alloc(handler).init(Dialog).pose();
推荐阅读
- wordpress - 在 Wordpress 中为插件添加样式表,而不是主题
- android - 来自 Vue.js 应用程序的 Android JS Bridge
- python - 喜欢使用 Django Rest Framework 的按钮后端逻辑
- python-3.x - 如何使用 AppEngine 在 Firestore 模拟器中打印?
- python - 当它们在熊猫列中时如何检查一个列表的元素是否是另一个
- rabbitmq - Google 日历 API:com.google.api.client.googleapis.json.GoogleJsonResponseException:404 未找到
- c++ - C++ 调整 2d 向量的大小,其中函数为 const
- python - pytest - 将值从一个测试函数传递到测试文件中的另一个函数
- mysql - 有没有办法将值插入到一个表中,然后更新另一个表中的值?mysql
- java - Google Foobar 问题 - 请传递编码消息 (Java)