Function pinyin(ByVal x As String) As String
Const hanzi = "啊芭擦搭蛾发噶哈击喀垃妈拿哦啪期然撒塌挖昔压匝座ABCDEFGHJKLMNOPQRSTWXYZZ"
If x = "座" Then pinyin = "Z"
For i = 1 To 23
If Asc(x) >= Asc(Mid(hanzi, i, 1)) And Asc(x) < Asc(Mid(hanzi, i + 1, 1)) Then pinyin = Mid(hanzi, 24 + i, 1)
Next
End Function
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn And Len(Combo1.Text) = 1 Then
For i = 1 To Combo1.ListCount
If pinyin(Left(Combo1.List(i), 1)) = UCase(Combo1.Text) Then Combo1.ListIndex = i: Exit Sub
Next
End If
End Sub
Private Sub Form_Load()
For i = 1 To 20
Combo1.AddItem Mid("士大夫但是个方法假分数看见法违反看法棵挖为了为了", i, 1)
Next
Combo1.Text = ""
End Sub