uniGUI总群中台中cmj朋友为我们总结了如下内容,对于利用delphi+uniGUI开发应用,可以说是精品,必须掌握。
一句话,如何在html与delphi间交互代码,是最好的答案。
[ClientEvents操作]
Js存取Edit,Memo元件值getValue,setValue
MainForm.Edit1.setValue(“ABCDE”); //把值设定给Edit1
Ext.getCmp( MainForm.Edit1.id ).setValue(值); //把值设定给Edit1
MainForm.Edit1.getValue(); //取Edit1的值
Ext.getCmp( MainForm.Edit1.id ).getValue() );
Js存取Label
MainForm.Label1.setText(值); //设定
Ext.getCmp( MainForm.Label1.id ).setText(值);
Ext.getCmp( MainForm.Label1.id ).getWidth(); //取宽度
var a=document.getElementByIdx_x( MainForm.Label1.id ). innerText; //取值
var a=Ext.getCmp( MainForm.Label1.id ).text; //取值
MainForm.UniButton4.getId(); //取Unigui控件id
MainForm.UniButton4.id; //取Unigui控件id
[UniURLFrame之使用]
UniLoginForm1.UniURLFrame1.iframe.contentWindow.document.getElementByIdx_x('container').
innerHTML='';
UniLoginForm1.UniURLFrame1.iframe.contentWindow.oldPoint = null;
top.document.getElementByIdx_x(top.MainForm1.BT_del.getId()).click();
top.MainForm.UniEdit1;
你在UniURLFrame中可以直接用top.form.控件
这是extjs封装过的
top.ajaxRequest(top.MainForm.UniURLFrame1,'TestEvent',null);
这样的服务端的UniURLFrame1的OnAjaxEvent就会触发
所以得一个结论
在UniURLFrame使用extjs的东西要加top.
控件如top.MainForm.UniEdit1
函数如top.ajaxRequest
多参考demo中ajax的范例
delphi中简单使用
UniSession.AddJS(); //以执行js code
[unigui引用自定义js档]
范例: test.js存放在files\下
内容: function aa(){
alert(“aa”);
}
引用:uniServerModule的CustomFile属性设定
files/public.js
or
files\public.js
使用1: 在delphi的程式
UniSession.AddJS('aa();'); //定义在UniGUIApplication
使用2: 在元件(控件)的ExtEvents.OnClick内
alert(“aa”);
结论:
.在delphi中如何取html的东西?
.在js中如何取unigui的东西
.js->delphi使用ajax
.delphi接ajax在控件的onajaxEvent中写程式
ueditor应该是hmtl 用ajax->delphi就是html字串