VB編程:如何在列表框中自動查找

字號:

當列表框擁有定位功能,它就會自動滾動到第一項,以你所輸入的字母為開始。然而,它不會在多于第一個字母的情況下,自動選擇項目。比如,如果你輸入”ap”,你也許想要控制選擇以”ap”為始的第一項。這個技巧解釋了你如何能夠執(zhí)行這個行為是用api功能發(fā)送消息。如下它的必須羅列在程序中的聲明:gongweini表框擁有定位,
    public declare function sendmessage lib 'user32' _
    alias 'sendmessagea' (byvalhwnd as long, _
    byvalwmsg as long, byvalwparam as long, _
    byvallparam as string) as long
    你將會需要如下的常數(shù),這些常數(shù)告訴列表框選擇以特定字頭開始的第一個項目:
    public const lb_selectstring = &h18c
    除了列表框之外,這項技巧要求文字框的控制。用戶在文字框中進入文段,列表框自動地選擇第一個匹配的項目。消息被發(fā)送至文字框的變化事實程序中:
    private sub text1_change()
    if text1.text <> '' then
    sendmessage list1.hwnd, lb_selectstring, -1, text1.text
    end if
    end sub
    當列表包含許多項目的時候,讓用戶選擇基于比第一個項目多列表框項目是特別地有用的。