在aardio写的程序中 得到焦点 失去焦点 按下回车键 这三个事件都是很常用的,可以用它来做一些符合用户体验的事,省去用户很多不必要的删除文本操作:
import win.ui;
/*DSG{{*/
var winform = win.form(text="简码编程 jianma123.com";right=422;bottom=269)
winform.add(
edit={cls="edit";text="";left=52;top=106;right=346;bottom=206;edge=1;multiline=1;z=2};
plusSearBox={cls="plus";text="请输入搜索关键词";left=53;top=56;right=344;bottom=84;align="left";border={bottom=1;color=-16777216};editable=1;notify=1;z=1}
)
/*}}*/
import console;
winform.plusSearBox.editBox.wndproc = function(hwnd,message,wParam,lParam){
if(message==0x101/*_WM_KEYUP*/){
if(wParam==0xD/*_VK_RETURN*/){
winform.edit.text = "你搜索的关键词是:" + winform.plusSearBox.text;
winform.plusSearBox.text = "";
winform.edit.setFocus();
}
}
if( message == 0x7/*_WM_SETFOCUS*/){
//console.log(winform.plusSearBox.text)
//console.log("获得焦点")
if(winform.plusSearBox.text=="请输入搜索关键词"){
winform.plusSearBox.text = "";
}
}
if( message == 0x8/*_WM_KILLFOCUS*/){
//console.log(winform.plusSearBox.text)
//console.log("失去焦点")
if(winform.plusSearBox.text==""){
winform.plusSearBox.text = "请输入搜索关键词";
}
}
//无返回值则继续调用默认回调函数
}
winform.show()
win.loopMessage();