win.imageList 构造函数

By admin at 2017-11-17 • 0人收藏 • 725人看过

win.imageList 类主要提供对图片列表的支持。用到这个类的控件有:win.ui.toolbar

1、函数原型:

win.imageList( 宽度, 高度 )
win.imageList( 句柄 )

2、函数说明:

创建一个图像列表(win.imageList对象).
如果构造参数指定图像句柄,则使用该句柄指向的图像创建图像列表,否则按给定大小创建图像列表。

3、函数示例:

import win.imageList;// 初始化一个 win.imageList 类
var iml = win.imageList( 16, 16 );
// 提供其他 imageList 的句柄,并从中读取图片列表
var iml2 = win.imageList( iml.handle );

iml.add

1、函数原型:

iml.add( pic, color=0xff00ff )

2、函数说明

向已创建的 win.imageList 实例中添加图片。

pic:图片路径或图片数据
color:图片透明色,此参数可省略,默认值为0xff00ff

3、函数示例:

iml.add( "\res\imageList.gif" );
iml.add( $"\imageList.gif" );
iml.add( $"C:\imageList.gif", 0xff00ff ); //使用$可以包含图片文件到编译后的程序中
		

如果添加的图片比初始化时给定的大小大,将自动分割图片成为若干张小图片,
具体请看 UI窗体 -> 工具栏控件 范例。



2 个回复 | 最后更新于 2017-11-17
2017-11-17   #1

win.ui.toolbar 类

win.ui.toolbar 类主要提供创建并操作工具栏的函数

1、函数原型:

tb = win.ui.toolbar( form )

注意:本函数中的 form 参数可以传递窗口句柄,也可以直接传递窗口实例。

2、函数说明:

按照给定的父窗口,初始化一个工具栏实例。

3、调用示例:

import win.ui;
import win.ui.toolbar;
var tb = win.ui.toolbar( winform );

注意:利用本构造函数初始化工具栏实例后,工具栏并不会自动被创建和显示。
   本文档以下所有的 tb 均为 win.ui.toolbar 这个类的实例。

tb.create

1、函数原型

tb.create( )

2、函数说明

按照构造函数中给定的父窗口,以及其他给定的属性,在父窗口顶部创建一个工具栏并显示。

tb.add

1、函数原型:

tb.add( text, proc, iBitmap = 0 )

2、函数说明:

向已创建的工具栏中加入一个工具栏按钮。

iBitmap 参数指的是按钮上的图片,图片的来源为 tb 的 imageList 属性(该属性为 win.imagelist 的实例)。0 为不指定图片,1 为第一张图片,2 为第二张,以此类推。

3、函数示例:

tb.add( "测试", function () {
	win.msgbox( "您按下了工具栏按钮", "aardio" );
} );
tb.add( "新建", function () {
	win.msgbox( "新建", "aardio" );
}, 1 );

属性列表

1、属性说明:

tb.flat

表示工具条是否扁平,默认为 true(该属性仅能在调用 create 方法之前定义)

tb.showLabel

表示工具条按钮上是否显示文字,默认为 true

tb.imageList

表示工具条按钮上图片的来源(该属性仅能在调用 create 方法之后定义)

综合示例

import win.ui;
import win.imageList;
import win.ui.toolbar;
// 创建一个 imagelist
var iml = win.imagelist( 16, 16 );
// 添加图片到 imagelist
iml.add(string.load( "\res\toolbar.gif" ), 0xff00ff);
// 初始化一个 win.ui.toolbar 类
var tb = win.ui.toolbar( winform );
// tb.flat = true;
// 工具栏按钮上不显示文字
tb.showLabel = false;
// 创建工具栏并显示
tb.create( );
// 将 imagelist 与工具栏绑定
tb.imageList = iml;
// 添加工具栏按钮
tb.add( "新建", function () {	
      // code here
}, 1 );
tb.add( "打开", function () {	
      // code here
}, 2 );


2017-11-17   #2

toolbar范例:

import win.ui;
import win.ui.menu;
import win.ui.toolbar;
/*DSG{{*/
var winform = win.form(text="aardio form";right=349;bottom=249;parent=...)
winform.add()
/*}}*/

/*==========菜 单==============*/
winform.popmenu = win.ui.popmenu(winform);//创建弹出菜单
var idFileNew = winform.popmenu.add(
	'新建',
	function(id){ 
		win.msgbox("新建");
	}
);
winform.popmenu.add();//分隔线
winform.popmenu.add('&exit',function(id){ winform.close() })
win.ui.menu(winform).add('file',winform.popmenu)

/*==========工具条==============*/
var toolbar = win.ui.toolbar(winform);
toolbar.create( style = 0x1000/*_TBSTYLE_LIST*/ ); // 创建工具条
toolbar.showLabel = true; //在按钮上显示文字
toolbar.imageList = win.imageList( 16, 16 ).add($"\res\toolbar.gif",0xFF00FF/*透明色*/) ; 

toolbar.add();// 添加分隔条
toolbar.add( "新建", , 1,idFileNew/*重用现有命令ID*/ );
toolbar.add(
	"禁用", 
	function (id) { 
		toolbar.getButton(3).disabled = false; 
		toolbar.getButtonById(id).disabled = true;
	}, 2
); 

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

示例中用到的图片:

blob.png

运行后效果;

blob.png

登录后方可回帖

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