用SendMessage函数实现VB程序的查询功能
今天图老师小编给大家精心推荐个用SendMessage函数实现VB程序的查询功能教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~
请给标准工程添加ListBox和TextBox控件各一个,其各项属性均取默认值,然后将下列代码拷贝到你的工程:
OptionExplicit
'申明API函数
PrivateDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsInteger,ByVallParamAsAny)AsLong
ConstLB_FINDSTRING=&H18F'常数
PrivateSubForm_Load()
'给列表框添加26个字母(大写)
DimiAsInteger
Fori=Asc("A")ToAsc("Z")
List1.AddItemChr$(i)
Next
Text1=""'令文本框为空
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
Text1=""'按下任意键则令原内容消失
Text1.SelLength=1'限制长度
Text1.SelText=Chr(KeyAscii)'显示键盘符号
KeyAscii=0'禁止响铃
'ListBox中的项目文本若与文本框的一致则选中(高亮)
List1.ListIndex=SendMessage(List1.hwnd,LB_FINDSTRING,-1,ByValCStr(Text1.Text))
EndSub
以上程序适用于单项目为多个字母的查询,但必须注意,在TextBox的KeyPress事件中要作相应的改动。->