getfocus():返回获得输入焦点的目标句柄;getwindowlong():取得指定目标的信息,第二个参数为GWL_STYLE时将返回目标的“风格”属性;setwindowlong():把新的属性值赋予指定的目标。该函数的三个参数分别为目标的句柄、属性类型、新属性值;sendmessage():向目标发送一条消息。该函数的四个参数分别为接收消息的目标句柄、消息、消息参数一、消息参数二;GWL_STYLE(程序中简写为STYLE):其值为-16,表示目标的“风格”;ES_PASSWORD(程序中简写为PASS)简写为PASS):其值为&H20,表示目标具有录入口令的属性,即在录入时不回显;EM_SETPASSWORDCHAR(程序中简写为PASSCHAR):其值为&H41C,表示传递密码特性。用sendmessage向目标传递此消息成功,则目标会将自身的输出信息以指定的密码形式给出。
以下程序,通过sendmessage函数修改文本框Text1的“风格”属性,使其以指定的密码形式输出———不管用户录入的是什么内容,都以相同数量的“*”来显示。用户可以通过单点“Command1”按钮来显示Text1.Text的真正内容。DeclareFunctiongetfocusLib“user”()AsIntegerDeclareFunctiongetwindowlongLib“user”(ByValhandAsInteger,ByValindex AsInte-ger)AsLongDeclareFunctionsetwindowlongLib“user”(ByValhandAsInteger,ByValindex AsInte-ger,ByValnewflagAsLong)AsLongDe reFunctionsendmessageLib“user”(ByValhandAsInteger,ByValmsgAsInteger,ByValwparaAsInteger,ByVallparaAsLong)AsLongConstSTYLE=-16ConstPASS=&H20ConstPASSCHAR=&H41CSubCommand1_Click() MsgBoxtext1.TextEndSubSubCommand2_Click() EndEndSubSubForm_Load() Show text1.SetFocus hand%=getfocus() flag&=getwindowlong(hand%,STYLE)OrPASS flag&=setwindowlong(hand%,STYLE,flag&) flag&=sendmessage(hand%,PASS-CHAR,Asc(“*”),0&)EndSub
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18