搜索
查看: 1249|回复: 1

[win] spin控件显示小数

  [复制链接]

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13974
发表于 2018-7-6 20:01:39 | 显示全部楼层 |阅读模式
import win.ui;
/*DSG{{*/
var winform = win.form(text="spin控件显示小数";right=533;bottom=298)
winform.add(
edit={cls=
"edit";text="0.01";left=48;top=74;right=137;bottom=99;align="right";edge=1;multiline=1;z=1}
)
/*}}*/

winform.edit.addCtrl(
    spin={
        cls=
"spin";marginRight=4;marginTop=1;marginBottom=4;width=16;
        oncommand =
function(id,event,pos){
            
if( pos && event == 0x4/*_SB_THUMBPOSITION*/ ){
                winform.edit.text = string.format(
"%.2f",pos / 100 )
            }
        }
    }
)
winform.edit.spin.setRange(1,1000);
//设置数值的上下限
winform.edit.spin.pos = 1;//设置数值
winform.edit.spin.inc  = 5;//设置每次点击箭头的增减量(步长)

winform.edit.translateCommand();
//允许edit的子窗口响应oncommand事件
winform.edit.setPadding(2,18);//设置文本框内边距

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

评分

参与人数 1银币 +30 收起 理由
aiwen + 30 很给力!

查看全部评分

回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13974
 楼主| 发表于 2018-7-7 12:20:00 | 显示全部楼层
aardio新版中可以省略这句代码:
winform.edit.translateCommand();//允许edit的子窗口响应oncommand事件
如果创建控件的参数中就指定了 oncommand 事件,aardio会自动调用 winform.edit.translateCommand()

控件的的命令消息是发给父窗口的,所以必须由父窗口负责触发子窗口的
oncommand事件,
一般的控件窗口默认并不做这件事(一般也没必要),所以需要调用translateCommand函数启用这个功能。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-11-15 18:05 , Processed in 0.062502 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表