单行文本框响应回车键
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 » 单行文本框响应回车键
还没有人抢沙发呢~