aardio 文档

aardio 范例: 按钮中嵌按钮

//按钮嵌按钮
import win.ui;
import win.ui.menu;
/*DSG{{*/
var winform = win.form(text="按钮中嵌按钮";right=599;bottom=399;parent=...)
winform.add(
btnInner={cls="button";text="4";left=183;top=47;right=209;bottom=77;dr=1;dt=1;font=LOGFONT(charset=2;name='Marlett';weight=500);z=2};
button={cls="button";text="按钮中按钮";left=53;top=43;right=213;bottom=83;dr=1;dt=1;z=1}
)
/*}}*/

/*
winform.btnInner 与 winform.button 必须设置相同的固定边距属性 - 以保持在缩放时移动到相同位置
*/

//设置父窗口
winform.btnInner.setParent( winform.button )

//允许父窗口转发子窗口的命令(_WM_COMMAND)与通知(_WM_NOTIFY)消息
winform.button.translateCommand();

/*
响应命令。
_WM_COMMAND 是由控件发送给父窗口,
父窗口解析此消息才能调用控件的 oncommand 函数。
父窗口必须调用 translateCommand() 函数,
*/
winform.btnInner.oncommand = function(id,event){
    //按下鼠标右键,下面获取按钮屏幕坐标
    var rc = winform.btnInner.getRect(true/*使用屏幕坐标*/)

    //创建弹出菜单
    win.ui.popmenu(winform).addTable( {
        { 
            "测试";
            function(id){
                winform.msgbox("测试")
            } 
        }; {
            "退出程序";
            function(id){
                winform.close()
            } 
        };
    } ).popup(rc.left,rc.bottom,true/*使用屏幕坐标*/) 
}


winform.show()
win.loopMessage();

Markdown 格式