搜索
查看: 1006|回复: 1

如何将控件的每个事件单独成一个响应函数

[复制链接]

12

主题

38

帖子

236

积分

新手入门

积分
236
发表于 2018-1-12 13:39:14 | 显示全部楼层 |阅读模式
    论坛里面的plus控件,可以直接用plus.onMouseDoubuleClick = function(wParam,lParam)来做一个鼠标双击响应事件,我想在一个按钮上实现鼠标单击实现显示“鼠标单击1”,鼠标双击显示“鼠标双击2”,我知道用以下方式可以实现:
        winform.button.oncommand = function(id,event){
                if (event == 0x5/*_BN_DOUBLECLICKED*/) {
                        winform.msgbox("鼠标双击2");
                } elseif (event == 0x00/*_BN_CKLICKED*/) {
                        winform.msgbox("鼠标单击1");
                }
        }
        但是我想用plus控件响应鼠标双击的方式实现按钮单击和双击,即分别为button.onMouseDoubuleClick/*鼠标双击*/ = function(wParam, lParam)、button.onMouseClick/*鼠标单击*/ = function(wParam, lParam)?
        同时,可以在哪里查到plus控件除了支持onMouseDoubuleClick/*鼠标双击*/响应,还支持哪些类似的事件响应?
        最后,按钮双击事件好像并不能响应?!


import win.ui;
/*DSG{{*/
var winform = win.form(text="plus控件双击演示";right=759;bottom=469;parent=...;topmost=1)
winform.add(
button={cls="button";text="button";left=509;top=135;right=633;bottom=170;z=3};
picturebox={cls="picturebox";left=174;top=218;right=376;bottom=264;edge=1;frame=1;notify=1;z=2};
plus={cls="plus";text="鼠标左键双击这里";left=122;top=79;right=504;bottom=107;font=LOGFONT(h=-24);notify=1;z=1}
)
/*}}*/

winform.button.oncommand = function(id,event){
        //winform.msgbox( winform.button.text );
        if (event == 0x5/*_BN_DOUBLECLICKED*/) {
                winform.msgbox("鼠标双击3");
        }
}

winform.picturebox.wndproc = function(hwnd,message,wParam,lParam){
        select(message) {
                case(0x203/*_WM_LBUTTONDBLCLK*/ ){
                        winform.msgbox("鼠标双击1");
                }         
        }
}

//winform.button1.onMouseDoubuleClick = function(wParam,lParam){
//        winform.msgbox("鼠标双击1");
//}

winform.plus.onMouseDoubuleClick = function(wParam,lParam){
    winform.msgbox("鼠标双击2");
}

winform.enableDpiScaling();
winform.show();

win.loopMessage();
return winform;
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2018-1-12 19:45:42 | 显示全部楼层
plus控件有哪些事件可以打开【库函数文档】查看。
plus控件的功能传统按钮不是都有的,这里没必要做到完全一样,我看你用 oncommand 用的很溜BN_DOUBLECLICKED你都能找到,反而是单独的响应函数你说不知道怎么用 - 那你要改成这样干什么?

普通按钮双击似乎意义不大,所以Windows默认是禁用这功能的,如果你希望用户双击按钮,需要自己事先运行代码
winform.button.modifyStyle(,0x4000/*_BS_NOTIFY*/)


另外你单击弹出一个对话框,双击跟单击中间插一个对话框 你觉得能正常?!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2018-10-17 16:38 , Processed in 0.062500 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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