说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB如何在VB中制作不回显的文本框

HTML文档下载 WORD文档下载 PDF文档下载
VB如何在VB中制作不回显的文本框
在应用程序中,有时需要用户录入一些不宜在屏幕上直接显示的内容,如用户口令或机密数据。我们已熟知,在Foxbase/Foxpro中这一功能可以用SETCONSOLEOFF命令关闭向屏幕的回显来实现。那么,在VisualBasicforWin-dows中如何做到这一点呢?

一个容易想到的方法是利用文本框的Key-Press事件,但为了处理用户对文字的编辑(如删除、插入),则还要再用其它变量存放真正输入的内容,而且必须书写大量复杂的控制程序。实践证明,这种方法比较繁琐,不便使用。

笔者在用VB编程时发现,Windows文本框可以响应许多消息,那么,可不可以利用WindowsAPI函数sendmessage将控制特性的消息传递给文本框呢?如果可行,则可以将使目标以密码形式输出的消息传递给文本框,不就可以制作出不回显文字的文本框了吗?

答案是肯定的。笔者使用以上思路实现了这一功能。以下是程序中用到的几个API函数和有关的消息:

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”()AsInteger
DeclareFunctiongetwindowlongLib“user”(ByVal handAsInteger,ByVal indexAsInte-ger)AsLong
DeclareFunctionsetwindowlongLib“user”(ByVal handAsInteger,ByVal indexAsInte-ger,ByVal newflagAsLong)AsLong
DeclareFunctionsendmessageLib“user”(ByVal handAsInteger,ByVal msg As Integer,ByVal wparaAsInteger,ByVallparaAsLong)AsLong
ConstSTYLE=-16
ConstPASS=&H20

ConstPASSCHAR=&H41C

SubCommand1_Click()
MsgBoxtext1.Text
EndSub
SubCommand2_Click()
End
EndSub
SubForm_Load()
Show
text1.SetFocus
hand%=getfocus()
flag&=getwindowlong(hand%,STYLE)OrPASS
flag&=setwindowlong(hand%,STYLE,flag&)
flag&=sendmessage(hand%,PASS-CHAR,Asc(“*”),0&)
End Sub
12306上的分布式内存数据技术GemFire Canalys:苹果、三星2014年仍统治平板市场 微软压力山大 Google和苹果的下一个战场 回顾2013科技界大事件:Mayer登Vouge杂志、Ballmer离职 《近匠》第03期:移动开发工具访谈,AVOS Cloud——后端的金刚钻 次世代视觉:Avegant Glyph智能眼镜技术解析 技术栈的选择:从Groupon转向Node.js、淘宝去IOE谈起 首席数据官:一个属于你的时代已经来临 盘点2013年Facebook七大最受欢迎的hack 见证中国开源的力量:“开源力量”2013年度庆典活动亮点汇总 专访APU13讲师、西电朱虎明:概念难以理解成异构编程最大阻力 盘点2013:21款最优秀的开源数据库 苹果三星再次谈判,欲和解所有侵权案 应对iOS in the Car,Google将携手奥迪推Android车载系统 10个技巧让你更轻松地使用AWS 《近匠》第04期:移动开发技术访谈,多看科技CTO王毅——阅读未来 2013年Linux领域重要事件回顾 2013年12月操作系统份额:Windows XP跌破30%大关 Linux小幅上涨 Snapchat存安全漏洞 460万用户信息被窃 年底广告高峰:AdMob团队支招“马上赚钱” 从远程调用框架认识Zookeeper 盘点Hadoop生态圈:13个让大象飞起来的开源工具 【开源推荐】Ejoy2D:“风魂”游戏引擎作者云风的又一力作 Web应用在IE11里的实际使用性能 回顾2013年十个值得关注的WordPress设计主题 为什么Google眼镜注定会失败? 2013移动开发工具盘点:最火原型设计工具 2013年12月份浏览器份额:IE 11暴涨3倍 【PPT集萃】十位一线专家分享Spark现状与未来(二) 2014年,怎么做产品才能获得成功? 年末新游盘点:2014年移动游戏四大趋势 MYSQL的帮助文档哪里有下载?谢谢 求,谁有zip unzip的源代码 菜鸟的问题,送分来了! 有谁知道什么是SDD吗?请指教!!!!别吝惜呀!!^o^ 简单的右键弹出菜单问题…… 我想编一个pop3服务器,适用于windows iis,给点提示吧 编译SERVLET时老出现"...包 javax.servlet 不存在..." ? 请教关于 98中 Personal web Server的问题 辽宁4:0狂胜广东,爽丫!SB广东解说员居然说中国足球没戏了~~~~~~~~~~ 用APPLET做一个上传的东西可以吗???? "我的问题"栏中,只剩下未解决的了,已给分的为何都不见了? 在CSDN和大富翁都没人会答的简单OLE问题,唉! 我是shijie819有问题?? 各位高人,看看代码,不能输入汉字只能输入英文,问题在那里? 如何将编好的n个模块连接到一个工程 请教!关于listbox的列属性? Applet为什么能在JBuiler5中调试,而不能在浏览器中显示 SOS!谁有语音卡编程的经验和资料,恳请指教!给分的! 谁有用VC++中ODBC API 编写数据库的例子? sql server 有沒有邏輯型字段!!! 电娃娃领分!!!!---goldsun发 猛禽进来拿分. 谁有画线的函数源码,参数为两点坐标? 如何将xml中的数据转换成动态的数据图形显示啊 有谁可以讲讲有关KV3000的A盘..... 没有问题 请问斑竹:是不是以前的得分时间长了会没有了? 小弟向大哥大姐们请教VB数据库问题! 考研问题请教!!!! 这个问题和apache配置有关吧! 哪里有比较稳定而且空间大、速度快的主页空间? 向高手请教!如何实现网络DDE ie的internet选项菜单项被锁定,如何解开(急,马上给分) 回答者有分 我需要JAVA-JDBC打开数据库的原码.................. 很想给datawindow 加上一个标题栏, 可加上后是灰色的 :( 可变成蓝色的吗? 关于ORACLE8.1.7中SQL *PLUS 不能显示中文的问题 ? C语言中好像有个with指示符吧?怎么用的? 网上有(深入浅出mfc)这本书可以下载吗?? 这个SQL或存储过程怎么写?(MSSQL7) 那位仁兄有进销存源代码(delphi版)及相关资料的,帮帮忙,往jian38625@sohu.com发 Exchange 2000 server 客户端问题 如何获取框架中打开的文件名? 寻找tomzou(老猫Tom ) 软件维护指南国家标准Gb(txt版)zip压缩,这里下载 下面的程序怎么不能执行?谢谢谢!!! 如何用VC++在windows中得到Floppy 的类型 网上有(深入浅出mfc)这本书吗?? 请大家帮忙 各位高手快指点迷津! 写过IDL的大虾请进 求SAT作文关于creativity的素材、例子!急求SAT的creativity leads to success 的例子. (我的故事) 800字 不要太好 主题:我的中国梦 读后感700字以上 SAT 作文素材关于外表与内心的例子, 作文!求人物素材求关于人物的素材,经历大概300字左右概况,适合的话题!希望能够比较新颖的! 怎样写科学小论文?(小学的){可以帮我写的话就帮我写吧}1000字必须得实验(关于科技的有实践性的简单的实验)如果光写个“你自己想一想就行了”这样的话的话就会举报. 一篇关于那天我捡到了快乐的钥匙 作文 600字左右 不要复制的 1 作文 阅读中成长 初一 600字 作文:我的理想我的理想是当个服装设计师或者主持人 《我的中国梦》初中作文.500字初二《我的中国梦》作文,回答完给30分!500字 《我成长我快乐》初一作文 750字以上 跪求~~~ 我的理想作文,首尾呼应,运用搜集到的资料.快点,我急用,追加分 《我的中国梦》800字,以“中国梦”为题,结合自己的理想和追求,讲述自己亲历亲见为实现“中国梦”而奋斗的感人事迹,并写出自己的青春梦想.800字左右, 中国梦我的梦写读后感有哪些书可读?马上开学了, 关于我的理想作文 我的中国梦初中作文 我的梦 中国梦观后感是要观后感 不是总结 最好带一点感情 一篇初一的作文600字《爱,伴我成长》. 初中作文作文800字推广普通话共筑中国梦推广普通话作文800字,急!明天交 求我的梦中国梦观后感 成长非常痛,非常爱 600字作文 求SAT作文例子Exitentialist Jean Paul Sartre belived in personal freedom,holding that man is free to "write the script" for his own life:he can blam no one else if his life is a "poor performance".On the other hand,William Blake and others in the 我的梦中国梦这本书的读后感, 作文《爱伴我成长》(600字以上) SAT作文例子急求作文例子6大类型最好每样举一到两个传统创新 challenge the authority苦难成功 success and adversities内在外在 inner and outer motivation科技负面 science and technology合作竞争 cooperation and compe 以压力为话题的初中作文要像初中生写的 求一篇题目为《成长》的800字作文 急求高中寒假作文、800字、、、以 悠闲中的忙碌——我的假期生活 为题、~ 关于中国梦的相关书籍我们要写读后感关于我与中国梦的相关书籍,(是书!) 作文 以成长的故事为话题 800~ 高中寒假作文800字 我的中国梦观后感 1000字科技小论文怎么写详细的问题说明,有助于回答者给出准确的答案 《我成长,我快乐》初中600字作文怎么写?要紧扣题目,内容吸引人的,如果写得好我会加悬赏分的. 求《中国梦》 读后感!自己写的! 作文 成长的脚印不要重复 关于SAT作文,皇帝的新衣这篇文章中有没有挑战权威皇帝的新衣这篇文章中,最后那个小孩说出了真相,这里算不算是挑战权威?可不可以用到SAT作文素材里? 以欢乐中国年 幸福中国梦为主题的读后感读后感!快 作文 成长的快乐 600字提示:1,思考、收获(勇气、自信、成功、毅力.)2,记叙完整(动作、心理),详略得当3,正侧面相结合提纲:1,什么事2,思考 以“中国梦”为话题写一篇600字作文!谁能帮我写一篇作文以“中国梦”为话题!是自己写的,还是百度的? 幸福中国梦 欢乐中国年 作文要怎么写 求 以“和”为话题的600字初中作文有“和平”“和睦”等……600字以上. 以我的中国梦为话题的作文(500字左右) 有没有围绕“幸福中国梦,欢乐中国年”这种主题的书籍?有哪些? 以「我能行」为话题,写600字作文建议要生活实际的事,比如为了做一件事而努力一类. 以中国梦为话题的600字作文. 求一本有关“幸福中国梦,欢乐中国年”的书籍.不是作文,是征文要看的书. 题目是《中国梦我的梦》1000字的初中生作文.可以是记叙文也可以是读后感.拜托了,千万不可以抄啊,要百度中找不到的!写好了直接发给我.谢谢了 我的高中生活〔酸〕800字作文 幸福中国梦 欢乐中国年对于你的回答 对于我一点帮助也没有 但是我觉得你说的不错 我自己也制定了一份 你看看怎么样 我的成长经历“作文” 150~200字快 求一篇高中生活的作文 要求青春健康 字数800字左右记叙文 半命题作文 成长的( ),大概600字 成长经历作文怎么写400字 SAT疑难解答.请问可以把SAT 范文,写作例子等等的资料发到我的邮箱去吗?不好意思,之前看到你回答sat 写作的问题,请问你可以把SAT 范文,写作例子等等的资料发到我的邮箱去吗?还有,请问你可 半命题作文,《成长路上~》600字左右.不要写高中,本人才初三.最好写初中或者小学之类的事.不要复制,自己写.600字. “中国梦·我的梦”主题读书征文,必须是读后感,字数要在600字左右,谁能帮我写下, 求新东方于浩洋的SAT写作例子讲义或素材(成功后再追加分)如果有的话再追加30 求高中作文,我的故事.800字,介绍自己类似的,或者其他类型. 我的中国梦为主题的征文咋写?我的中国梦,另起一个
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn