龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

Combo的自动查询技术

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
DeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByVal hwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny) AsLong PublicConstCB_FINDSTRING=H14C PrivateSubCombo1_Change() DimiStartAsInteger DimsStringAsString StaticiLeftOffAsInt
DeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByVal
  hwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)
  AsLong
  PublicConstCB_FINDSTRING=&H14C
  PrivateSubCombo1_Change()
  DimiStartAsInteger
  DimsStringAsString
  StaticiLeftOffAsInteger
  iStart=1
  iStart=Combo1.SelStart
  IfiLeftOff<>0Then
  Combo1.SelStart=iLeftOff
  iStart=iLeftOff
  EndIf
  sString=CStr(Left(Combo1.Text,iStart))
  Combo1.ListIndex=SendMessage(Combo1.hwnd,B_FINDSTRING,-1,ByValCStr(
  Left(ombo1.Text,iStart)))
  
  IfCombo1.ListIndex=-1Then
  iLeftOff=Len(sString)
  combo1.Text=sString
  EndIf
  Combo1.SelStart=iStart
  iLeftOff=0
  EndSub
  静态变量iLeftOff指定了字符长度。->

精彩图集

赞助商链接