我发现IE中所有访问过的网址都是保存到注册表中的,但是他是如何能那么快的检索,并提示用户的呢??

解决方案 »

  1.   

    IE 4后,利用两个COM接口IAutoComplete,IAutoComplete2,完成这一功能!
      

  2.   

    用ComboBox,其实IE中的URL地址输入框就是ComboBox,对吧
    1. 当你在ComboBox中输入内容时,它会自动匹配items中的条目,给出提示
    2. 如果你不想出现右侧的下拉钮,将其style设为csSimple,其外观就和Edit一样,但会有自动匹配的功能。
    3. 一个小实验:
    在ComboBox1的items中加入3个条目:ab,aabb,aaabb
    然后运行,试着在里面输入一个a,两个a,三个a看看效果
    4. 以上自动匹配功能的前提是ComboBox的AutoComplete属性为true
    5. 完善自动匹配的功能:如果用户输入了条目中没有的内容,则将其加入条目,使其下次输入时,可以自动完成曾输入过的条目,起到历史记录的作用:
    if ComboBox1.Items.IndexOf(ComboBox1.Text)<0 then
      ComboBox1.Items.Add(ComboBox1.Text);
    6. 要将ComboBox1的条目保存到注册表并读出,参看一下TRegistry类
      

  3.   

    o!差点忘了
    把这个 if ComboBox1.Items.IndexOf(ComboBox1.Text)<0 then
      ComboBox1.Items.Add(ComboBox1.Text);
    写在什么地方呀???
      

  4.   

    当用户按下“enter”键,或按下“提交”,“确定”按钮时;也就是说用户使用了在ComboBox中输入的内容,但是该内容并不在已有的条目中时,将其输入内容加入条目。
      

  5.   

    用那个也行嘛
    combobox1.history.add("some text");
    呵呵,给分吧!