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

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

注意:

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

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

image.png

位置如下:

image.png





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

GIF.gif

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

感谢校长增加的这个功能.


用到的图片素材如下:


主界面代码如下:

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,加油!

登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
Sciter中文在线文档Sciter在线学习文档
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
C大Aardio论坛:Aar爱好者论坛
简码教程网:简码编程
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...