aardio 文档
aardio 范例: 工具条(win.ui.toolbar)示例
import win.ui;
import win.ui.menu;
import win.ui.toolbar;
/*DSG{{*/
var winform = win.form(text="工具条(win.ui.toolbar)示例";right=540;bottom=330)
winform.add(
edit={cls="edit";text='请右键点窗体设计器,\r\n然后点『九宫格缩放布局』以固定文本框四侧边距。\r\n\r\n窗体中的每一小块都可以用 custom 控件加载另一个子窗口,\r\n在子窗口里又可以继续做九宫格布局,这样就可以分而冶之,化繁为简。';left=0;top=22;right=541;bottom=308;db=1;dl=1;dr=1;dt=1;edge=1;multiline=1;vscroll=1;z=1}
)
/*}}*/
//菜单
var popmenu = win.ui.popmenu(winform);//创建弹出菜单
var idFileNew = popmenu.add(
'新建',function(id){ win.msgbox("新建"); }
);
popmenu.add();//分隔线
popmenu.add('&exit',function(id){ winform.close() })
win.ui.menu(winform).add('file',popmenu)
//工具条,建议改用高级选项卡( win.ui.tabs )
var toolbar = win.ui.toolbar(winform);
toolbar.create( style = 0x1000/*_TBSTYLE_LIST*/ ); // 创建工具条
toolbar.showLabel = true; //在按钮上显示文字
//toolbar.sendMessage(0x200C,0,0); //关闭 DPI 自动缩放,在指定图像列表前调用
//已经自动支持 DPI 缩放,改高高级选项卡(win.ui.tabs) + 图标字体效果更好。
toolbar.imageList = win.imageList( 16, 16 ).add($"\res\toolbar.gif",0xFF00FF/*透明色*/) ;
//让工具条显示在窗口底部
//toolbar.modifyStyle(1/*_CCS_TOP*/,3/*_CCS_BOTTOM*/)
toolbar.add();// 添加分隔条
toolbar.add( "新建", , 1,idFileNew/*重用现有命令ID*/ );
toolbar.add(
"禁用",
function (id) {
toolbar.getButton(3).disabled = false;
toolbar.getButtonById(id).disabled = true;
}, 2
);
//点击工具栏按钮
//toolbar.buttons[2].click();
import win.ui.statusbar;
statusbar = win.ui.statusbar( winform );
statusbar.setText("这是状态栏");
/*
工具栏和状态栏属于系统控件,比较特别的是默认已做好 DPI 缩放。
如果需要自行计算高度,那么先应当调用 winform.enableDpiScaling("init")。
这样大家的坐标位置才是一致的。
*/
winform.enableDpiScaling("init");
/*
工具栏与状态栏在不同 DPI 缩放下大小基本是一致的
一般不用再计算位置,但如果想追求一点完美,可以下面这样写:
*/
winform.edit.top = winform.toolbar.bottom;
winform.edit.bottom = winform.statusbar.top;
/*
请参考:范例程序 > Windows 窗口 > 基础知识 > 高分屏自适应
其实在 aardio 中使用这种系统提供的工具栏和状态栏是不必要的。
aardio 提供了更好用的高级选项卡(win.ui.tabs),更美观,定制样式更方便,用法也更简单。
状态栏其实用一个简单的 static 就可以了,大多时候那些复杂而浪费时间的功能根本就没用。
*/
winform.show(true);
win.loopMessage();
Markdown 格式