zoukankan      html  css  js  c++  java
  • aardio单行的edit控件响应回车按键消息

    方法一:

    import win.ui;
    /*DSG{{*/
    var winform = win.form(text="edit响应回车按键消息";right=366;bottom=171)
    winform.add(
    edit={cls="edit";left=60;top=74;right=307;bottom=99;edge=1;z=1}
    )
    /*}}*/
    
    //你用消息回调不起作用,是因为回车键是对话框的快捷键之一
    //你可以重写winform.isDialogMessage函数
    winform.isDialogMessage = function(hwnd,msg){  
        if (   (msg.message >= 0x100/*_WM_KEYFIRST*/) && (msg.message <= 0x108/*_WM_KEYLAST*/) ) { 
            if(msg.wParam==0xD/*_VK_ENTER*/){ 
                return false //使回车键不是对话框快捷键
            }
        }   
        return win.isDialogMessage(hwnd,msg);   
    }
    
    //那么这里就会起作用了
    winform.edit.wndproc = function(hwnd,message,wParam,lParam){
        if(message == 0x100/*_WM_KEYDOWN*/ && wParam == 0xD/*_VK_ENTER*/){
            win.msgbox("按了回车!");
        }
        //无返回值则继续调用默认回调函数
    }
    
    winform.show() 
    win.loopMessage();
    return winform;

    方法二:

    import win.ui;
    /*DSG{{*/
    var winform = win.form(text="edit响应回车按键消息";right=366;bottom=171)
    winform.add(
    edit={cls="edit";left=60;top=74;right=307;bottom=99;edge=1;z=1}
    )
    /*}}*/
    
    //响应按键弹起的消息
    winform.edit.wndproc = function(hwnd,message,wParam,lParam){
        if(message == 0x101/*_WM_KEYUP*/ && wParam == 0xD/*_VK_ENTER*/){
            win.msgbox("按了回车!");
        }
        //无返回值则继续调用默认回调函数
    }
    
    winform.show() 
    win.loopMessage();
    return winform;
  • 相关阅读:
    《数据结构与算法之美》03——数组
    设计模式系列三-代理模式
    Docker系列2-image详解
    docker系列2-centos7下安装docker
    docker系列1-简介
    idea设置JDK无效
    java引用传递还是值传递问题解析
    MySQL优化系列4-全文索引
    MySQL优化系列3-存储引擎
    Redis深入解析系列:分布式锁详解
  • 原文地址:https://www.cnblogs.com/drunken-ostrich/p/8883490.html
Copyright © 2011-2022 走看看