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

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
速度是现在的10000倍,出自物理学家之手的新型电脑 逗你玩?淘宝开放平台从4月1起开始全面收费 出现编程疲劳?千万别纠结 “编程竞赛界王子”教你更好的招聘程序员 SA:三星全球智能电视市场份额达26% Cocos2d-x 3.0分语言包发布 最新进展即将披露 友盟:社会化分享成为APP开发“标准配置” 从“简单”的封面设计剖析Netflix背后的数据哲学 与Linus Torvalds“并列”,虚拟化天才程序员法布里斯贝拉 让超级计算机和数据中心“飞”,Intel推800Gbps神器MXC 【OSTC讲师专访】Debian开发者李道兵:平静地理解开源 红帽推出开源业务流程管理套件:JBoss BPM Suite 6 科学研究证明:程序员快乐才能更好的工作 ChocolateChip-UI:能“逆转”的跨平台应用开发框架 分享12款最佳的Bootstrap设计工具 Apache Flex 4.12发布,支持iOS 7 智能手机应用挑战Web平台,看W3C如何反击? 电信级数据流量与监控系统部署案例分享 TCL联手Mozilla,HTML5智能电视真的要来了! 先睹为快:Unity亚洲开发者大会虚拟游览展示 OSTC·2014 演讲日程出炉,Perl创始人来了! Unity将收购Applifier,并引入Everyplay和GameAds两大平台 《近匠》从Cubieboard到radxa:汤亮的第二次硬件创业 九头蛇与大象之争,Hydra或将取代Hadoop 喜讯:中国安全团队Keen成功在Pwn2Own 2014黑客大赛上攻破64位Mac上的Safari OCP黑客马拉松冠军:24小时头脑风暴背后 新时代应用程序设计及MongoDB的十个深入理解 借助“开源”东风 英特尔打造卓越“软实力” 深圳综合交通设计研究院张鹍鹏:智能交通设备领域已成红海 信息化是发展趋势 25个可遇不可求的jQuery插件 Web设计中对视差设计的误区 请问关于在JAVASCRIPT中判断是否是对象的函数? 如何加载smartdrv.exe? 谁能把他认为最简单的asp聊天室程序发给我? 我做的网页总是上面有一小部分是白色的区域,左边也是如此。。。 怎么样可以用ASP代码.更改IIS的默认出错信息文件. 也许对你来说很简单,但对我很神奇…… 怎样使vc编的程序更好看? 谁能将这个简单的C程序转换为delphi程序?up有分! 各位,有没有好点的免费空间啊??最好是ftp的! 如何让ADOTable的当前记录再从数据表刷新一下? 在D6中如何动态建立ACCESS的数据库,以及在库中添加表??下面一段代码建立的表在ACCESS中打不开,为何,显示格式不对??????求教, 明年首次扩招的大学生就要毕业了!我们找工作越来越难了! 關於ISampleGrabber的問題 为什么我的更新方法总不行?说是要有正确的command.look the followed code 有关页面传递变量!! 怎么更改图标? 使用asp显示柱状图 关于PDA中JAVA的编程 50分,一个5分钟就能解决的问题! 今日看到一篇文章,随便问问,希望有兴趣的高手过来指点指点!初学也进来讨论一下! Foxpro怎樣調用Winzip等壓縮軟件,有誰知道?請賜教! 关于窗体验证的问题,谁能帮我出一个更好的解决方案? 别不告诉我呀,给分大大地! 如何用ISA控制用户的上网流量 請問在VBScript過程中能用session 紧急求助:VC.NET怎么导入资源文件。(高分) 如何连接.dbf的数据库(dBase). 下拉菜单问题 请问如果一个控件没有hwnd,怎样才能拿到它的hwnd?急! 简单问题 请问如果一个控件没有hwnd,怎样才能拿到它的hwnd?急! 请问如果一个控件没有hwnd,怎样才能拿到它的hwnd?急! 在设计ActiveX控件时,怎么得到该控件的HWND 请问浮点型的数据如何设置使它以科学计数法表示? 高分求教:VPOP3的使用方法? 500分求解:windows编程。 请教高手,关于用TCP/IP检测网络状态 一个关于注册 ODBC 的问题,请教高手 控件得到焦点时有OnActive事件,那失去焦点时是什么事件 哎,不知做什么软件才能赚钱? 请教跨域访问的问题! 请高手帮忙!一定给分! 怎样编程实现在ListBox里显示数据库表中一个列?(绝对放分) 那位有《101规约》给我一份,我实在不知道该到哪里去找!!!(50分求助) 关于对话框制作 关于例外 给Cisco认证提点建议!给分===== [求教]XML文档的参数中如有&符号如何处理。 [求教]XML文档的参数中如有&符号如何处理。 谁能给我提供免费防刷新的计数器代码……在线等待 请问出现下列错误,如何解决!(怎样察看每个OLE DB状态值) qu的音标是什么 英语翻译’ll seek you out,Flay you aliveOne more word and you won’t surviveAnd I’m not scared of your stolen powerI see right through you any hourI won’t soothe your painI won’t ease your strainYou’ll be waiting in vainI got nothing fo 类似eyes on fire这种歌 这种调的歌.越多越好 qu的音标 再来一道离散数学证明等价式(((A∧B∧C)→D)∧(C→A∨B∨D)))推出((C∧(A↔B))→D) 古代印度的种姓制度的实质是什么?带来了怎样的影响? qu的音标怎么写? 古代印度种姓制度中各等级的各自所处的社会地位如何? 为什么古代印度的种姓制度的实质是奴隶制的等级制度 为什么go home,中间不加to,但welcome to my home却加to?问题很白痴,但我们快期末考了! “种姓制度”是由什么人制定的?它把古代印度社会划分为哪几个等级?产生了什么样的影响? 印度种姓制度的实质是什么 快回答 找几首有关“成功从梦想开始”为题的诗歌!写作业做参考用! 英语翻译Thank you for your order No.6565 dated 1 July for 100widgets.I regret to say that our records show that we do not have sufficient letter of credit.We can fulfill your order only upon the receipt of a confirmed,irrevocable letter of credit 印度种姓制度的实质是什么 为什么有的门窗和桥梁要建成拱形的?1.应用了什么原理?2.石拱桥为什么寿命这么长? 古印度的种姓制度按照什么划分的? How much do the cards cost?(同义句)尽量多写几个 Thank you for your l( ) letter首字母已给出,帮下忙,是初一的英语练习卷 第6单元迅速哦 We thank you for your letter DATED January 3.这里的dated是过去分词么 是过去分词在里边做宾语补语么 还是过去分词做定语. 形容态度的词语 离散数学证明证明:简单连通无向图的任何一条边,都是该图的某一刻生成树的边;设群中含有2阶元a,证明群中与a可交换的元素构成该群的子群 thank you for your letter dated august 20th 的主语是什么?是你们还是我们?为什么? 如果P是函数y=e^x图像上一点,过P的切线交x轴于A,PA垂直于PB,B在x轴上,三角形PAB面积为1,则P坐标为? 离散数学中如何用吸收律证明幂等律代数系统满足交换律,结合律,吸收律,如何证明S中*适合幂等律?是代数系统 高中英语阅读常出现的单词,特别是动词,形容词~只要词,不要意思,a/am这类的就算了 ,尽量多,不要乱你们发的这个,我有过了,不是太多,基本都知道, 函数y=sinx与y=cosx在[0,π/4 】内的交点为P,它们在点P处的两条切线与x轴所围三角形的面积为 推荐下适合高中生阅读的报纸,杂志要评论深刻,拓展视野的不需要和英语有关的 我是理科生 天桥杂志 英文名是什么? 过点P(1,2)向圆X^2+Y^2=r^2(r<根号5)引两条切线PA、PB,A、B为切点,则三角形PAB的外接圆面积为 复合函数结合律的证明,有疑问书上这样写的:定理2 设f:X→Y,g:Y→Z,h:Z→D,则hο(gοf)=(hοg)οf证明 对任意x∈dom(f),有hο(gοf)(x)=h((gοf)(x))=h(g(f(x)) =(hοg)(f(x))=(hοg)οf(x) 我觉得h(g(f(x)) =(hοg)(f(x))这 过点P(1,2)向圆x^2+y^2=r^2(r<5)引两条切线PA,PB,A,B为切点,则三角形PAB的外接圆面积为 “其实你在我的心中也占有特别的位置”用英语怎么翻译 问外国两个杂志的英文名字《时代周刊》、《泰晤士报》这周刊和报纸的英文名字. ___is the price of beef?About 18 yuan a kilo.A、What B、How much C、How many D、How thank you for your letter. 的同义句( )( )your letter 古印度的种姓制度为什么产生?这种制度是怎样产生的?为什么会产生? 1-on-1 sex Thank you for your letter.(改为同义句)改为Thank you for ______ ________me. 印度的种姓制度是怎么形成的 Sex on horseback 如题 Thank you for your letter.的同义句 Thank you for __ __ me. 中国为什么要全民学英语?这里的“全民”符合中国国情么? on a 改为同义句. Thank you for your letter. Thank you for ______ ______ me. 中国为什么要全民学英语?超郁闷 求帮忙看看有没有语法错误谢谢了 过去的时光作文500字 中国有必要全民学英语吗?大家说说,中国现在发展全民学英语是不是一种资源浪费?我个人觉得吧,将这门学科列为选修课程就很合适,毕竟很多人以后都不会出国,用不上. 有一个直角三角形,已知它的三条边的长是连续的三个整数.请求出这个直角三条边的长能够在清楚一点吗? 求初一作文过去的时光600字(急需)写一件事写点感想就可以了 eyes on fire 这是一首歌的名字,我理解成 目光中的火焰 希望有人可以 帮我正确的翻译一下. 服饰的英文怎么缩写.如何讲服饰的英文进行准确的缩写. 印度种姓制度的具体内容是什么?反映了古代印度社会的什么情况? Eyes On fire 的歌词是? 如果直角三角形三条边长是正整数.且有一条直角边是2008.那么另一条直角边长得取值个数最多为几个. 英语翻译kings of leon - use somebodyi've been roaming aroundalways looking down at all i seepainted faces,fill the places i can't reachyou know that i could use somebodyyou know that i could use somebodysomeone like you,and all you know,and how y eyes on fire歌曲翻译 如果直角三角形的三条边都是正整数,且有一条直角边边长是2008,那么另一条直角边的取值个数最多有几个拜
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘