message 简单信息框 支持库 源码

光庆 2023-7-27 1805 v 3.3.6 2023-08-24

简介:

aardio自带的message库很好,但风格为灰色,略显沉重,我将其改为亮色风格,喜欢的可以试用下。

主要功能:

1、自定义信息图标、图标颜色、文本、文本颜色、背景色、按钮风格(文本、图标、颜色等)、按钮区背景颜色

2、可设置超时自动关闭时间

3、可设置是否显示确定按钮

4、可定义是否显示标题栏(右上角关闭按钮),可设置标题栏风格

5、可设置窗口圆角

6、内置很多信息框类型,如 info(简单信息提示)、ask(确认取消)、input(输入框)、progress(进度条)、select(单选多选)、form(自定义子窗口) 等,只需要简单调用即可。

7、可内嵌到winform,只需导入本库后,直接使用 winform.info("") 即可。

更新日志:

3.3.6 设置窗口在最前,增加透明度和鼠标穿透功能。

3.3.5 增强 进度条 窗口,增加 getPlus() 函数。

3.3.4 调整 select 的默认选中值,支持选项内容。

3.3.3 调整dpi缩放相关算法。

3.3.2 select函数添加选中值数组参数

信息框基本组件构成:


使用指南:

先设置属性,再弹出信息框。

弹出信息框后,可根据返回值再进行后续操作,比如close()等。

部分效果:




下载附件,放于 aardio/lib/godking/ 目录即可

相关资料:aardio - 【库】简单信息框

使用方法:

import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add()
/*}}*/
 
winform.show();
import godking.message;
var msg = godking.message();
msg.showOK = false;
msg.showTitlebar = true;
msg.round = 16;
msg.info("这里是光庆改的简单信息框",0);
msg.ask("这里是光庆改的简单信息框,您喜欢吗?");
msg.input("这里是光庆改的简单信息框,请输入【喜欢】:",false);
// 或者直接使用 winform.msg 开头的函数,这种调用方式只能使用默认设置:
winform.msgAsk("这里是光庆改的简单信息框,您喜欢吗?");
winform.msgInfo("这里是光庆改的简单信息框",0);
win.loopMessage();


上传的附件:
最新回复 (9)
  • ximenxiaochui 8月前
    0 2
    弱弱的问下,为啥我这里运行这段代码,总会弹出错误框提示 名字:mixin,类型null 呢? 不用使用老版本的message.aardio还是最新版本的 都这样~~~
  • 光庆 8月前
    0 3
    ximenxiaochui 弱弱的问下,为啥我这里运行这段代码,总会弹出错误框提示 名字:mixin,类型null 呢? 不用使用老版本的message.aardio还是最新版本的 都这样~~~
    把你的测试代码发上来看看
  • ximenxiaochui 8月前
    0 4
    光庆 把你的测试代码发上来看看
    就是示例里的那19行代码,message库用的附件里的message.rar 环境:本地老版本aardio,然后用更新程序更新到最新版,创建的是一个窗口程序-空白窗体,然后复制上面的19行代码 提示错误行号为message.aardio(已放到aardio/lib/godking/目录下,已重启) 568行 不支持此操作:call 定义类型:method(table) 名字:'mixin' 类型:null
  • ximenxiaochui 8月前
    0 5
    光庆 把你的测试代码发上来看看
    但是我用官网下载全新的aardio使用message.aardio是没问题的。 只有用老版本aardio+自带更新程序更新到最新版才有问题.....
  • 光庆 8月前
    0 6
    ximenxiaochui 但是我用官网下载全新的aardio使用message.aardio是没问题的。 只有用老版本aardio+自带更新程序更新到最新版才有问题.....
    你这样就很难说啥原因了。 你可以在代码前加入 import win.ui.ctrl.metaProperty 试试
  • ximenxiaochui 8月前
    0 7
    光庆 你这样就很难说啥原因了。 你可以在代码前加入 import win.ui.ctrl.metaProperty 试试
    好的 我试试看
  • mndsoft 5月前
    0 8

    godking message 没看到 进度条示例,学习测试写了一个,这个message功能很强大哈,很多好玩的功能,希望更多示例出现。

    import win.ui;
    import win.ui.mask;
    import godking.message;
    /*DSG{{*/
    var winform = win.form(text="godking.message 进度条示例";right=759;bottom=469)
    winform.add(
    button={cls="button";text="进度条";left=237;top=249;right=423;bottom=297;z=1}
    )
    /*}}*/
    
    var msg = godking.message();
    var frmMask = win.ui.mask(winform,true)
    
    
    winform.button.oncommand = function(id,event){
    	winform.button.show(false)
    	frmMask.show(true); //显示遮罩
    	msg.showOK = false;
    	msg.showTitlebar =false;
    	//msg.showTitlebar = true;
    	//msg.modalMode =false;   //必须设置 modalMode = false 才有效
    	//msg.escClose =false;   //禁用ESC键(或ALT+F4)关闭
    	msg.borderWidth=2;    //进度条窗口边框宽度
    	msg.minWidth=400     //进度条宽度
    	msg.round = 10;
    	msg.icon ='\uF019';   //图标
    	msg.progressForeColor = 0xFF14B383;  //前景色
    	msg.progressTextColor = 0xFFFF0000;  //文本颜色
    	msg.progressBorderColor = 0xFF0000FF;  //背景色
    	msg.progressBgColor = 0xFFFF00FF ; //进度条背景色
    	
    	var a = msg.progress("正在下载AT指令",0,"0%")
    	
    	for(i=1;100;1){
        	a.progress.text ="进度" ++ i
        	a.progress.progressPos=i
    		thread.delay(100)
    	}
    	
    	a.close();
    	frmMask.show(false); //显示遮罩
    	winform.button.show(true)
    }
    
    
    winform.show();
    win.loopMessage();


  • Xmzzz 5月前
    0 9

    请教下楼主,select弹窗如何能获取用户点击的是确定还是取消?确定的时候是否能判断勾选选项没。万分感谢

    ccc = msg.select( true,"是否剔除选中文件?",{"同时物理删除文件"},0,)

  • 光庆 5月前
    1 10
    Xmzzz 请教下楼主,select弹窗如何能获取用户点击的是确定还是取消?确定的时候是否能判断勾选选项没。万分感谢ccc = msg.select( true,"是否剔除选中文件?&q ...

    如果选中,ccc={1} 

    如果没选中,ccc={} 

    如果取消,ccc=null

    所以,判断是否点击了确定按钮: 

    if ccc {}

    判断是否点击了取消按钮

    if !ccc {}

    判断选中了项目,并点击了确定按钮

    if #ccc {}


返回