# aardio 范例: edit / richedit - 自动完成列表

```aardio
// 自动完成列表
// listview+自动完成列表: https://www.aardio.com/zh-cn/doc/example/Windows/ListView/autoComplete.html
import win.ui;
/*DSG{{*/
var winform = win.form(text="edit / richedit - 自动完成列表";right=759;bottom=469)
winform.add(
edit={cls="edit";left=124;top=112;right=467;bottom=137;edge=1;z=1};
static={cls="static";text="请输入英文单词：";left=55;top=77;right=273;bottom=107;align="right";transparent=1;z=2}
)
/*}}*/

// 准备自动完成数据
var items = []

import table.coca20000;
for(k,v in table.coca20000){
	table.push(items,v.word); 
}

import com.autoComplete;
var aco = com.autoComplete(winform.edit);
aco.setStrings(items);//设置自动完成列表

// 也可以这样写（需要提前导入 com.autoComplete ）
// var aco = winform.edit.autoComplete(items)
 
// 禁用中文输入法
winform.edit.disableInputMethod();

// com.autoComplete 默认已设置 onOk 回调，可根据需要修改
winform.edit.onOk = function(ctrl,alt,shift){ 
	aco.hide();// 隐藏自动完成列表
	return true;  	
}

winform.edit.onChange = function(){ 
	
	if(!owner.modified) return; 	
	if(!#owner.text){
		aco.show(); // 删除文本时显示候选列表
	}
}

winform.edit.onFocusGot = function(){ 
	if(!#owner.text){
		aco.show(); // 获得焦点并且文本为空时显示候选列表
	}	
}

winform.show();
win.loopMessage();
```