主题:请教高手:如何实在组合框中编辑输入时实现输入‘联想’功能,快帮忙吗急死人
			 glaser
				 [专家分:0]  发布于 2009-04-10 20:58:00
 glaser
				 [专家分:0]  发布于 2009-04-10 20:58:00							
			请教:如何实在组合框中用户在编辑输入第一个字时,高亮条将移动到列表中第一个字与输入字相匹配的第一条目上;比如我在组合框中输入‘中’时,高亮条自动出现该组合框RowSource中列表中有‘中’的第一个相关值供选取;谢。
			最后更新于:2009-04-11 10:09:00
			
					 
		
			
回复列表 (共4个回复)
		
								
				沙发
				
					 wuzhouhong [专家分:10890]  发布于 2009-04-11 15:07:00
wuzhouhong [专家分:10890]  发布于 2009-04-11 15:07:00				
				*** InterActiveChange()
*** 智能搜索匹配
LOCAL I , cCurrValue , K , nPreItem
IF !INLIST(LASTKEY(),7,127)        && Del,BackSpace
    m.cCurrValue=TRIM(this.DisplayValue)
    m.K=0
    FOR m.I=1 TO this.ListCount
        IF this.List(m.I)=m.cCurrValue
            m.K=m.K+1
            IF m.K>=2                && 有重复的近似条目
                EXIT                && 退出搜索
            ELSE
                m.nPreItem = m.I        && 前一条目位置
            ENDIF
        ENDIF
    ENDFOR
    IF m.K==1
        this.DisplayValue=this.List(m.nPreItem)
        this.SelStart=LEN(m.cCurrValue)
        this.SelLength=LEN(this.List(m.nPreItem))-LEN(m.cCurrValue)
    ENDIF
ENDIF
							 
						
				板凳
				
					 glaser [专家分:0]  发布于 2009-04-12 10:08:00
glaser [专家分:0]  发布于 2009-04-12 10:08:00				
				
谢谢wuzhouhong老师,你的方法能很好的解决了英文打头的文字匹配功能,汉字打头的好像不怎么灵敏(有时要打几个字才出来),还有没有更先进的‘武器’,谢谢
							 
						
				3 楼
				
					 wuzhouhong [专家分:10890]  发布于 2009-04-12 12:16:00
wuzhouhong [专家分:10890]  发布于 2009-04-12 12:16:00				
				不是因为汉字不灵,而是程序设定了,重复内容暂不显示,直到没有重复的才出现自动匹配剩余的字符串。
你自己改动一下就可以了。
							 
						
				4 楼
				
					 glaser [专家分:0]  发布于 2009-04-12 15:16:00
glaser [专家分:0]  发布于 2009-04-12 15:16:00				
				wuzhouhong老师
除了改动 IF m.K==1为IF m.K>=1还要改动什么地方才好呢?
							 
									
			
我来回复