aardio窗体缩放自动匹配批量生成plus实例

news2024/9/23 1:41:57

import win.ui;
/*DSG{{*/
var winform = win.form(text="窗体缩放批量生成plus";right=759;bottom=469;bgcolor=15780518)
winform.add(
custom={cls="custom";text="自定义控件";left=3;top=6;right=753;bottom=460;ah=1;aw=1;bgcolor=15780518;z=1}
)
/*}}*/

//aardio窗体缩放自动匹配批量生成plus实例

//批量生成plus控件: 小图
//这个思想将会整体提升aardio应用水平
winform.plusRc = function(rows,cols){
    if (!rows and !cols) return ;
    
    //custom初始相对位置
    var left,right,top,bottom = 2,122,2,117; //plus长宽120*115
    var toRight = 121; //列间距+1
    var toBottom = 116; //行间距+1
    //rows,cols = 4,6; //行,列
     
    //批量生成位置
    buttonTab = {};
    for(i=1;rows;1){ //行
        for(j=1;cols;1){ //列
            table.push(buttonTab,{
                left+(j-1)*toRight,right+(j-1)*toRight,
                top+(i-1)*toBottom,bottom+(i-1)*toBottom
            })
        }
    }
    //console.dump(buttonTab)
     
    //动态生成控件
    //plus控件参数: edge=1;/*三维边框*/ clip=1;/*重叠裁剪*/
    //background=null;/*背景图像*/ notify=1;/*事件回调*/

    for(i=1;rows*cols;1){ 
        left,right,top,bottom = table.unpack(buttonTab[i]);
        //winform.add(
        //custom相对位置便于调整
        winform.custom.addCtrl(
            ['plusPic'+i]={cls="plus";text="plus"++i;
                left=left;top=top;right=right;bottom=bottom;
                dl=1;dt=1;edge=1;repeat="scale";notify=1;z=1};
        )
     
        //custom.plus.notify=1;/*允许事件回调*/
        winform.custom['plusPic'+i].oncommand = function(id,event){
            winform.msgbox("plus"++i);
        }
    }
}
row,col = 3,6; //默认plus行列数量
pageLine = row*col; //每页数量
winform.plusRc(row,col); //批量生成plus

//自动匹配批量生成plus
plusRcAuto = function(){
    for(i=1;row*col;1) winform.custom['plusPic'+i].close(); //初始化
    var x,y,cx,cy = win.getPos(winform.custom.hwnd);
    row,col = math.floor(cy/115),math.floor(cx/120); //默认plus大小
    winform.plusRc(row,col); //重新批量生成plus
    pageLine = row*col; //更新每页数量
}
plusRcAuto(); //自动匹配

//custom回调判断窗体大小自动匹配批量生成plus
/**
var fx,fy,fcx,fcy = win.getPos(winform.hwnd); //原窗体大小
winform.custom.wndproc = function(hwnd,message,wParam,lParam){
    if message = 5/*_WM_SIZE*/{
        var x,y,cx,cy = win.getPos(winform.hwnd); //新窗体大小
        if (cx!=fcx and cy!=fcy){
            plusRcAuto(); //自动匹配
            
            //其他运行代码
        }
        fx,fy,fcx,fcy = x,y,cx,cy; //原窗体大小
    }
}
**/

//窗体变化
winform.adjust = function( cx,cy,wParam ) {     
      plusRcAuto(); //自动匹配
};

winform.show();
win.loopMessage();

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/901466.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

运行flutter doctor命令窗口直接闪退

在cmd中输入flutter doctor后闪退了。 使用高速摄像机可以看到报错信息。 报错信息的意思是git的文件夹不能删掉,请保留flutter中git文件。

树莓派和windows之间文件传输

方案一:FileZilla 在电脑上下载FileZilla软件并打开,输入配置信息,用户名/密码、树莓派的IP地址,点击“快速连接” 方案二:samba 树莓派安装 samba 软件 sudo apt-get install samba samba-common-bin 修改配置文件 / etc /samba…

微表情识别(Python编程,cnn模型)

1.数据集包括7种类别微表情 anger文件夹,3995张 disgust文件夹, 436张照片 fear文件夹,4097张照片 happy文件夹,7215张照片 neutral文件夹,4965张照片 sad文件夹,4830张照片 surprised文件夹, 3…

函数极限与连续性——张宇老师学习笔记

Latex 源代码以及成品PDF(Debug版本):https://wwsk.lanzouc.com/itaDI15vddcb Latex编译Debug版本: $ xelatex 函数极限与连续性.texLatex编译Relese版本(无例题、习题,只有概念定义)&#xf…

循环结构 7-4 找出最小值

分数 20 全屏浏览题目 切换布局 作者 颜晖 单位 浙大城市学院 本题要求编写程序,找出给定一系列整数中的最小值。 输入格式: 输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。 输出格式: 在一行…

[零刻]EQ12 N100 迷你主机:从开箱到安装ESXi+虚拟机

开箱先上图: 配置详情: EQ12采用了Intel最新推出的N100系列的处理,超低的功耗,以及出色的CPU性能用来做软路由或者是All in one 相当不错,CPU带有主动散热风扇,在长期运行下散热完全不用担心,性…

企业如何开展个人信息安全影响评估(PIA)二

基本概念 根据《信息安全 技术个人信息安全影响评估指南》(GB/T 39335—2020;personal information security impact assessment,简称“PIA”),个人信息安全影响评估是指针对个人信息处理活动,检验其合法合…

【Redis】什么是缓存穿透,如何预防缓存穿透?

【Redis】什么是缓存穿透,如何预防缓存穿透? 缓存穿透是指查询一个一定不存在的数据,由于缓存中不存在,这时会去数据库查询查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,这…

数据可视化diff工具jsondiffpatch使用学习

1.jsondiffpatch 简介 jsondiffpatch 是一个用于比较和生成 JSON 数据差异的 JavaScript 库。它可以将两个 JSON 对象进行比较,并生成一个描述它们之间差异的 JSON 对象。这个差异对象可以用于多种用途,例如: 生成可视化的差异报告应用差异…

【系统架构设计专业技能 · 数据库设计(二)【系统架构设计师】

系列文章目录 系统架构设计专业技能 软件工程(一)【系统架构设计师】 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估(…

小程序商品如何指定打印机

有些商家,可能有多个仓库。不同的仓库,存放不同的商品。当客户下单时,小程序如何自动按照仓库拆分订单,如何让打印机自动打印对应仓库的订单呢?下面就来介绍一下吧。 1. 设置订单分发模式。进入管理员后台&#xff0c…

AutoSAR系列讲解(深入篇)13.7-Mcal Adc配置(上)

目录 一、AdcGeneral 二、AdcSafety 三、AdcConfigSet 在之前的章节中,咱们在Port的配置中讲解了工具的初步使用与一些技巧;在Dio的配置中讲解了生成的代码的内容;在mcu的配置里讲解了外部一些 第三方简便工具的使用。这一次咱们配合ADC模块,就详细的讲讲每个配置项的作…

Java --- 二维数组

一、二维数组的定义 public class TwoArrayTest {public static void main(String[] args) {//二维数组声明与初始化//方式1:静态初始化int[][] arr new int[][]{{1,2,3},{1,2,3},{1,2,3}};//方式2:动态初始化int[][] arr2 new int[3][3];arr2[0][1] …

Windows小记

一、域控制器升级的先决条件验证失败。 新建域时,本地 Administrator 帐户将成为域 Administrator 帐户。无法新建域,因为本地 Administrator 帐户密码不符合要求。 目前,本地 Administrator 帐户不需要密码。我们建议你使用网络用户命令行工…

微软Win11 Dev预览版Build23526发布

近日,微软Win11 Dev预览版Build23526发布,修复了不少问题。牛比如斯Microsoft,也有这么多bug,所以你写再多bug也不作为奇啊。 主要更新问题 [开始菜单] 修复了在高对比度主题下,打开开始菜单中的“所有应…

LLaMA-7B微调记录

Alpaca(https://github.com/tatsu-lab/stanford_alpaca)在70亿参数的LLaMA-7B上进行微调,通过52k指令数据(https://github.com/tatsu-lab/stanford_alpaca/blob/main/alpaca_data.json),在8个80GB A100上训…

rn和flutter出现“Running Gradle task ‘assembleDebug

在第一次运行rn和flutter时,会卡在Running Gradle task assembleDebug,可以使用阿里的镜像,如下图: maven { url https://maven.aliyun.com/repository/google/ } google() maven { url https://maven.aliyun.com/repository/jcen…

pointnet C++推理部署--tensorrt框架

classification 如上图所示,由于直接export出的onnx文件有两个输出节点,不方便处理,所以编写脚本删除不需要的输出节点193: import onnxonnx_model onnx.load("cls.onnx") graph onnx_model.graphinputs graph.inpu…

使用SSH隧道将Ubuntu云服务器Jupyter Notebook端口映射到本地

本文主要实现了在Ubuntu云服务器后台运行Jupyter Notebook,并使用SSH隧道将服务器端口映射到本地 1. 生成配置文件 运行以下命令生成Jupyter Notebook的配置文件: jupyter notebook --generate-config这将在用户主目录下生成一个名为.jupyter的文件夹&…

微人事 登录问题完善

重启服务端的时候,发现前端页面会操作不了,这样后端session会失效,我们就需要让页面重新跳转到登录页 springsecurity配置类后端配置 前端拦截器进行拦截跳转