单行文本框响应回车键

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;

发表评论

电子邮件地址不会被公开。 必填项已用*标注