用plus新增的menu.popup实现dropdown下拉框

By admin at 2019-12-05 • 0人收藏 • 1948人看过

注意:

jacen在 aardio 新版 V24.15版本已增加了官方plus模拟下拉文本框的范例,

需要此功能的去看这个示例.

image.png

位置如下:

image.png





以下 , 是我自己之前写的模拟下拉框, 纯粹作为学习过程参考整理.

GIF.gif

以上 plus的menu.popup功能需要更新aardio到最新版v24.13以上

感谢jacen增加的这个功能.


用到的图片素材如下:


主界面代码如下:

import win.ui;
/*DSG{{*/
mainForm = win.form(text="aardio工程43";right=292;bottom=279;bgcolor=15780518)
mainForm.add(
plus={cls="plus";text="示例二";left=38;top=70;right=221;bottom=111;align="left";background="\res\bg.png";font=LOGFONT(h=-16;name='微软雅黑');notify=1;repeat="center";textPadding={left=14};z=1};
plus2={cls="plus";text="示例一";left=38;top=109;right=221;bottom=150;align="left";font=LOGFONT(h=-16;name='微软雅黑');foreRepeat="expand";foreground="\res\qj1.png";notify=1;repeat="center";textPadding={left=14};z=2};
plus3={cls="plus";text="示例二";left=38;top=149;right=221;bottom=190;align="left";background="\res\bg.png";font=LOGFONT(h=-16;name='微软雅黑');foreRepeat="expand";foreground="\res\qj1.png";notify=1;repeat="center";textPadding={left=14};z=3}
)
/*}}*/

mainForm.plus.skin(
	background = {
		default = "\res\bg.png"; 
		hover = "\res\bg2.png";
		active = "\res\bg3.png";
		foucus = "\res\bg3.png";
	}
	checked = {
		background = {
			default = "\res\bg3.png"; 

		} 
	};
)

import win.ui.tabs;
var menu = win.ui.tabs(mainForm.plus2,mainForm.plus3)
menu.skin({
	foreground={
		default = "\res\qj1.png"; 
		hover = "\res\qj2.png";
	};
	checked = {
		foreground={
			default = "\res\qj2.png"; 
			hover = "\res\qj2.png";
		};
	};
})

menu.oncommand = function(strip,id,event){
    mainForm.plus.checked = false;
    mainForm.plus.text = strip.text;	
}

mainForm.plus.oncommand = function(id,event){
    mainForm.plus.checked = true;
	//selText功能为24.11版本新增,请确保aardio已更新到最新
	menu.selText = mainForm.plus.text
	menu.popup(true,owner)
}

menu.add({
	text='示例三'; 
})
menu.add({
	text='示例四'; 
})
menu.add({
	text='示例五'; 
})

menu.initPopup();

menu.onFocusLost = function(hFocus){
	mainForm.plus.checked = false;
}


mainForm.show();
return win.loopMessage();


完整工程下载:

链接:https://pan.baidu.com/s/191DycKjstVKeyRqg_3SzVQ 

提取码:0i9i 

2 个回复 | 最后更新于 2019-12-14
2019-12-06   #1

vip群: 撒旦微笑 提供了非图片版本

blob.png

import fonts.fontAwesome;
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=345;bottom=290;bgcolor=15780518)
winform.add(
menu={cls="plus";text="菜单";left=50;top=54;right=248;bottom=83;bgcolor=15592941;iconStyle={align="right";font=LOGFONT(name='FontAwesome');padding={right=10}};iconText='\uF078';notify=1;z=3};
plus={cls="plus";text="复制";left=50;top=83;right=248;bottom=112;iconStyle={align="left";font=LOGFONT(name='FontAwesome');padding={left=9}};iconText=" ";notify=1;z=1};
plus2={cls="plus";text="粘贴";left=50;top=112;right=248;bottom=144;iconStyle={align="left";font=LOGFONT(name='FontAwesome');padding={left=9}};iconText=" ";notify=1;z=2}
)
/*}}*/

import win.ui.tabs;
var menu = win.ui.tabs(winform.plus,winform.plus2); 
var menuTheme = { 
    color = {
        default = 0xFF06000F;
    }; 
    foreground={
        default = 0xFFFFFFFF;
        hover= 0xFFF7F7F7;
    };

    checked = { 
        color = {
            default = 0xFF6A58C9;
        }; 
        foreground={
            default = 0xFFFAFAFA;
        };
        iconText = '\uF00C';
    }
};
menu.skin(menuTheme)
menu.oncommand = function(strip,id,event){
    winform.menu.text = strip.text;  
} 
menu.onFocusLost = function(hLostFocus){
    winform.menu.checked = false;
}

winform.menu.skin({
	  checked = { 
        iconText = '\uF077';  
    } 
})
winform.menu.oncommand = function(id,event){
    winform.menu.checked = (winform.menu.checked==true) ? true : false
    menu.selText = winform.menu.text
    if(winform.menu.checked ){
        menu.popup(true,owner)
    }else {
        menu.popup(false,owner)
    }
     
}
 
menu.add({
    text='剪切'; 
})
menu.add({
    text='全选'; 
})

menu.initPopup()

winform.show() 
win.loopMessage();


2019-12-14   #2

这个网站不错,可以学习aardio,加油!

登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...