Private Declare Function LockWindowUpdate Lib "user32" (ByVal hWndLock As System.IntPtr) As Long Private Structure SIZE Dim cx As Long Dim cy As Long End Structure Public Sub LockWindow(ByVal hwnd As System.IntPtr) Dim lRet As Long lRet = LockWindowUpdate(hwnd) End Sub Private Sub ReleaseWindow() Dim lRet As Long lRet = LockWindowUpdate(Nothing) End Sub Private Sub ComboDropdown(ByRef comboObj As ComboBox) Call SendMessage(comboObj.Handle, CB_SHOWDROPDOWN, 1, 0&) End Sub Private Sub ComboRetract(ByRef comboObj As ComboBox) Call SendMessage(comboObj.Handle, CB_SHOWDROPDOWN, 0, 0&) End Sub Public Function ComboAutoComplete(ByRef comboObj As ComboBox) As Boolean Dim lngItemNum As Long Dim lngSelectedLength As Long Dim lngMatchLength As Long Dim strCurrentText As String Dim strSearchText As string Dim sTypedText As String Const CB_LOCKED = &H255 Try With (comboObj) If .Text = Nothing Then Exit Function End If Call LockWindow(.Handle) If ((InStr(1, .Text, .Tag, vbTextCompare) <> 0 And Len(.Tag) = Len(.Text) - 1) Or (Left(.Text, 1) <> Left(.Tag, 1) And .Tag <> Nothing)) And .Tag <> CStr(CB_LOCKED) Then strSearchText = .Text lngSelectedLength = Len(strSearchText) lngItemNum = .FindString(strSearchText) ComboAutoComplete = Not (lngItemNum = -1) If ComboAutoComplete Then lngMatchLength = Len(.Items.Item(lngItemNum)) - lngSelectedLength .Tag = CB_LOCKED sTypedText = strSearchText .Text = .Text & Right(.Items.Item(lngItemNum), lngMatchLength) .SelectionStart = lngSelectedLength Dim Temp As Integer Temp = lngMatchLength .SelectionLength = Temp ''''.Text = .Text & Right(.Items.Item(lngItemNum), lngMatchLength) .Tag = sTypedText End If ElseIf .Tag <> CStr(CB_LOCKED) Then .Tag = .Text End If Call ReleaseWindow() End With Catch err As Exception MsgBox(err.Message & err.StackTrace) End Try End Function
[平面设计]天正软件(AutoCAD)显示(局部隐藏)对象 [平面设计]使用虚拟打印机SmartPrint保存AutoCAD图片DWG为JP… [平面设计]AutoCAD2010新功能介绍 [平面设计]设置AutoCAD作图比例的方法 [平面设计]AutoCAD的标注工具栏怎么找 [平面设计]AutoCAD将线段等分的方法 [平面设计]如何设置AutoCAD文字的字号大小 [平面设计]AutoCAD编辑文字“无法找到SHELL程序”的解决办法 [平面设计]在AutoCAD中画虚线的方法 [互联动态]AutoCAD2008简体中文版介绍(安装系列号、激活码)及…