单行文本框响应回车键

    import win.ui;
    /*DSG{{*/
    var winform = win.form(parent=…; min=false;bottom=54;max=false;text=”请输入密码”;right=154 )
    winform.add(
    edit={ bottom=41;text=””;left=21;password=1;font=LOGFONT( name=”SimSun”;h=-12 );z=1;right=131;top=16;edge=1;cls=”edit” }
    )
    /*}}*/

    //你用消息回调不起作用,是因为回车键是对话框的快捷键之一
    //你可以重写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){ select(message) {//判断消息类型 case 0x100/*_WM_KEYDOWN*/ { if(wparam == 0xD/*_VK_RETURN*/ or wparam == 0x20/*_VK_SPACE*/){ win.msgbox("123","aardio") } } } //无返回值则继续调用默认回调函数 } winform.show(true) win.loopMessage(); return winform;

    转载请注明:Travis Data Experiment » 单行文本框响应回车键

    喜欢 0
分类:编程收获

还没有人抢沙发呢~