自动完成功能vb实现
来源:互联网 发布:tizen软件 编辑:程序博客网 时间:2024/04/30 19:34
自动完成功能,vb实现
最近应某人要求,希望能用vb6实现自定义数据的自动完成功能,看了下相关文章,摸索了下,算是完成了.
首先需要引用两个库,http://www.mvps.org/emorcillo/download/vb6/tl_ole.zip
新建工程,添加一个class,命名为cCusAuto
填入如下代码
'---------------------------------------------------------------------------------------
' Module : cCusAuto
' DateTime : 2006-5-10 21:40
' Author : lingll
' email : lingll_xl@163.com
' Purpose :
'---------------------------------------------------------------------------------------
Option Explicit
Implements olelib2.IEnumString
Private m_Str() As String
Private m_cnt As Long
Private m_pos&
'---------------------------------------------------------------------------------------
' Procedure : IniMe
' DateTime : 2006-5-10 21:40
' Author : lingll
' email : lingll_xl@163.com
' Purpose : 初始化,将数据添加进列表
'---------------------------------------------------------------------------------------
'
Public Sub IniMe()
Dim i&
m_cnt = 10
ReDim m_Str(0 To m_cnt - 1)
For i = 0 To m_cnt - 2
m_Str(i) = "auto" & Str$(i)
Next i
m_Str(m_cnt - 1) = "wahaha"
End Sub
Private Sub IEnumString_Clone(ppenum As olelib2.IEnumString)
End Sub
Private Sub IEnumString_Next(ByVal celt As Long, rgelt As Long, pceltFetched As Long)
Debug.Print celt
If m_pos < m_cnt Then
rgelt = StrPtr(m_Str(m_pos))
m_pos = m_pos + 1
pceltFetched = 1
Else
pceltFetched = 0
Err.Raise S_FALSE
End If
End Sub
Private Sub IEnumString_Reset()
m_pos = 0
End Sub
Private Sub IEnumString_Skip(ByVal celt As Long)
m_pos = m_pos + celt
End Sub
在窗体中添加一个textbox,然后填入如下代码
Option Explicit
Private Const CLSIDSTR_AutoComplete As String = _
"{00BB2763-6A77-11D0-A535-00C04FD7D062}"
Private CLSID_AutoComplete As UUID
Private IID_IUnknow As UUID
Private m_auto As olelib.AutoComplete
Private m_CusAuto As cCusAuto
Private Sub Form_Load()
Dim tun As olelib.IUnknown
Set m_CusAuto = New cCusAuto
m_CusAuto.IniMe
Call CLSIDFromString(IIDSTR_IUnknown, IID_IUnknow)
Call CLSIDFromString(CLSIDSTR_AutoComplete, CLSID_AutoComplete)
CoCreateInstance CLSID_AutoComplete, Nothing, CLSCTX_INPROC_SERVER, IID_IUnknow, tun
Set m_auto = tun
'设置自动完成选项
m_auto.SetOptions ACO_AUTOSUGGEST
m_auto.Init Text1.hWnd, m_CusAuto, vbNullString, vbNullString
m_auto.Enable 1
End Sub
运行程序,在textbox中输入"w",或"a",都会出现下拉列表
参考文章:
在应用程序中集成自动完成功能(http://dev.csdn.net/develop/article/20/20944.shtm)
Using Autocomplete(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell_int_programming/ac_ovw.asp)
lingll
lingll_xl@163.com
blog.csdn.net/lingll
2006-5-10
注:经测试该程序只能在ide中运行,编译为exe,运行就会出错,目前没解决办法,极度怀疑是vb本身的问题.
- 自动完成功能vb实现
- 实现自动完成功能
- VB.NET版 autoComplete 自动完成功能
- AJAX 实现自动完成功能
- VB6 实现文本框的自动完成功能
- Delphi6 实现文本框的自动完成功能
- ajax实现搜索关键词自动完成功能
- 使用AutoComplete Extender实现自动完成功能
- Textbox+listbox实现自动完成功能
- extaspnet 实现自动完成autocomplete 下拉功能
- jQuery.Autocomplete实现自动完成功能(详解)
- ajax java 实现自动完成功能
- jQuery.Autocomplete实现自动完成功能
- Ajax实现文本框的自动完成功能
- jQuery实现用户输入自动完成功能
- vb 6 实现网页自动填写自动提交功能
- Ajax自动完成功能
- ATLAS自动完成功能
- 判断DataSet 里的记录集是否为空
- 如何编写高质量“软件需求说明书”
- ASP.NET中常用代码
- 从头再来!!!!
- 部署项目
- 自动完成功能vb实现
- 发送writely和orkut邀请
- vc编写全局钩子需要注意的一个地方
- ASP2HTML WITH TEMPLET
- java中finally子句的分析
- 数据库人员手边系列:SQL Server常见连接错误
- 序列函数
- 数学之美 系列五 -- 简单之美:布尔代数和搜索引擎的索引
- Windows控制台下103个工具命令!! 高手必备 随用随查