用plus控件自绘一个聊天对话框

Mr_MAO 7小时前 64

//plus控件自绘聊天框 - chatBox
import win.ui;
import inet.http;
import fsys.dlg;
import gdip.font;
import gdip.stringformat;
import fsys;
import fsys.info;
import fsys.file;
import process;
import web.json;
/*DSG{{*/
var winform = win.form(text="aardio 聊天框示例";right=463;bottom=631)
winform.add(
btnFileA={cls="button";text="+";left=144;top=576;right=192;bottom=616;db=1;dl=1;z=6};
btnFileB={cls="button";text="+";left=392;top=576;right=440;bottom=616;db=1;dr=1;z=5};
btnUserA={cls="button";text="用户A发送";left=24;top=576;right=136;bottom=617;db=1;dl=1;z=3};
btnUserB={cls="button";text="用户B发送";left=272;top=576;right=384;bottom=617;db=1;dr=1;z=4};
editMsg={cls="edit";left=24;top=536;right=440;bottom=570;db=1;dl=1;dr=1;edge=1;multiline=1;z=2};
plusChat={cls="plus";left=24;top=16;right=440;bottom=528;bgcolor=0xFFFFFF;db=1;dl=1;dr=1;dt=1;edge=1;notify=1;z=1}
)
/*}}*/

var imgObjA = gdip.bitmap("https://img3-tc.tapimg.com/default_avatars/fa4f0232b0237ea362cad0e74c9dd998.jpg");
var imgObjB = gdip.bitmap("https://img3-tc.tapimg.com/avatars/etag/Fqs8Pm-QS6gtg9OnWtZLyFfMaWi6.png");

var code = inet.http.get("https://aar.chengxu.online/attach-download-474.htm");
var  classObject = loadcodex(code);
var chatbox = classObject(winform.plusChat, 
    {id="userA"; name="我";    bubbleColor=0xFFA0FF70; avatar=imgObjA}, 
    {id="userB"; name="朋友"; bubbleColor=0xFFF3FF3F; avatar=imgObjB}
);
chatbox.user1isRight = false; //用户1在左侧

winform.btnUserA.oncommand = function(id,event){
    var txt = winform.editMsg.text;
    if(!#txt)return;
    chatbox.showMsg("userA",  txt, 1, time()) ;  
    winform.editMsg.text = "";
}

winform.btnUserB.oncommand = function(id,event){
    var txt = winform.editMsg.text;
    if(!#txt)return;
    
    chatbox.showMsg("userB",  txt, 1, time()) ;  
    winform.editMsg.text = "";
}

winform.btnFileA.oncommand = function(id,event){
    var filepath = fsys.dlg.open()
    if(filepath){
        chatbox.showMsg("userA",   filepath, 2, time()) ; 
    }
}

winform.btnFileB.oncommand = function(id,event){
    var filepath = fsys.dlg.open()
    if(filepath){
        chatbox.showMsg("userB",   filepath, 2, time()) ; 
    }
}

winform.onDestroy = function(){
    chatbox.save();
}

winform.show();
//必须放在winform.show()后
chatbox.load();

win.loopMessage();


上传的附件:
最新回复 (2)
  • nanyi 6小时前
    0 2
    很有意思。
  • 光庆 6小时前
    0 3
    很高级的玩意儿哦,o(*^@^*)o
返回