win.imageList 构造函数

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

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



登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



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

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

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...