`
zhangziyueup
  • 浏览: 1171661 次
文章分类
社区版块
存档分类
最新评论

Visual Basic中防止用户编辑文本框控件中的内容

 
阅读更多

  Visual Basic中的文本框控件允许用户在其中键入文本,以便在程序中使用。相反, 程序员可能会希望显示一些文本但不希望用户编 辑该文本。本文介绍了如何创建只读的文本框控件的内容。

  使一个文本框控件只读
  在Visual Basic中,如果文本框控件的MultiLine属性设置为True ,文本将会自动地换行到下一行。另外,如果文本框控件的ScrollBars 属性设置为3-Both(或者1-Vertical,或者2-Horizontal),用户还能够 滚动控件中的内容。
  程序员要想实现文本框控件中的文本不可编辑,可将文本框控件 中的内容设置为只读状态,这可以通过使用Microsoft Windows应用程 序编程接口(API)的SendMessage函数来实现。
  SendMessage函数可以用来发送一个EM_SETREADONLY消息到文本 框控件中,这将使文本框控件变为只读。
  要在程序中使用该SendMessage函数,需要将如下的声明语句包含 在项目的通用声明部分中(注意该声明语句需要书写在一行内):
  Private Declare Function SendMessage Lib "user32" Alias "SendMessageA"(B yVal hwnd As Long, ByVal wMsg As Long, ByVa l wParam As Integer, ByVallParam As Long) As Long
  该SendMessage函数需要4个参数,如下所示:
  hwnd 一个长整数值,它包含文本框控件的句柄。
  wMsg 一个长整数值,它包含被发送的消息,在这个例子里,是EM_ SETREADONLY。
  wParam 一个整数值,如果它为True,则控件被设置只读标记,如 果它为False,则删除控件的只读标记。
  lParam 一个长整数值,它应该被设置为0(EM_SETREADONLY不使 用它)。
  在程序运行了此SendMessage函数之后,将返回一个长整数值,指 明调用成功(返回值非0)或是失败(返回值为0)。
  样例程序
  该程序显示了如何防止用户编辑一个文本框控件中的内容。
  1.在Visual Basic中开始一个新的工程,采用缺省的方法建立For m1。
  2.将如下的常量和声明语句添加到Form1的通用声明部分中(注意 该声明语句需
  要书写在一行内):
  Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVa l wParam As Integer, ByVal lPara mAs Long) As Long
  Const WM_USER = &H400
  Const EM_SETREADONLY = (WM_USER + 31)
  3.在Form1上添加一个文本框控 采用缺省的方法建立Text1。 将其MultiLine属性
  设置为True,并且将它的ScrollBars属性设置为3-Both。
  4.在Form1上添加一个命令按钮控件,采用缺省的方法建立Comman d1。
  5.将如下的代码添加到Command1的单击事件中:
  Private Sub Command1_Click()
  Dim RetVal As Long
  RetVal = SendMessage(Text1.hwnd, EM_SETREADONLY, True, B yVal 0&)
  End Sub
  通过按下F5键来执行样例程序。在文本框控件中键入一些文本, 可以使用水平和垂直流动条来滚动文本,还可以改变文本的内容。单 击命令按钮,用户仍然可以使用流动条或是光标键来查看文本框控件 的内容,但是不能编辑它。

分享到:
评论

相关推荐

    vb6.0 visual basic 6.0

    VB 把过往的纯代码编程过度到可视化编程,将一些经常要使用到的功能以一个个的控件的形式出现,例如 Label(标签)、TextBox(文本框)等等的。他们在以前的编程工作中需要在使用时重复多次的输入同样的代码去实现这...

    Visual Basic+实验+掌握建立、 编辑和运行一个简单的 Visual Basic 应用程序的全过程+常用控件

    Visual Basic 环境和程序设计初步 一、 实验目的 1. 了解 Visual Basic 系统对计算机软、 ...3. 掌握建立、 编辑和运行一个简单的 Visual Basic 应用程序的全过程。 4. 掌握常用控件(文本框、 标签、 命令按钮)的应用。

    vbRichEdit_visualbasic_控件_

    VB封装RichEdit文本框控件,可编辑文字,实现像Word文字编辑功能的文本控件

    VB vb6.0 visual basic打开窗体或者运行闪退解决.reg

    解决运行VB6闪退,解决打开带有标签label,文本框textbox等控件的窗体闪退。 使用方法1:双击,然后按照提示来。 使用方法2:右键,合并,然后按照提示来。 亦可适用于运行时提示“Visual Basic 已停止工作”

    Visual Basic 6 Resizer VB6控件动态位置大小调整

    原来的方式是在窗口的Resize事件中添加调整控件大小/位置的代码,这样做的话比较麻烦,要自己手动去计算宽度/偏移,然后将这些代码写死在程序中,以后增加控件或者调整布局都需要重新计算/修改代码,不利于维护. ...

    边用边学Visual Basic 6视频教程之常用控件--标签、文本框和命令

    这是第三集,好好学习,天天向上,谢谢大家的支持。

    Visual Basic期末考试试卷

    ( )6、文本框控件没有Caption属性。 ( )7、Dim a1,a2 As Integer语句表示声明的变量a1和a2都为整型变量。 ( )8、执行Do-Loop While语句时,不管条件真假,首先会无条件地执行一次循环。 ( )9、Rnd(x)产生[0...

    Visual Basic 2010入门经典.part1.rar

    8.3 在图像列表(Image List)控件中存储图片 140 8.4 使用列表视图(List View)控件创建增强的列表 141 8.4.1 创建列 141 8.4.2 添加列表项 142 8.4.3 使用代码操纵List View 143 8.5 使用Tree View创建层次...

    Visual Basic(简称VB)是由微软公司开发的一种高级编程语言,特别适用于Windows环境下的应用程序开发 以下是关于

    Visual Basic强调“可视化”编程,这意味着开发者可以通过图形用户界面(GUI)设计工具来创建应用程序的界面,而无需编写大量代码来描述界面元素的外观和位置。此外,VB还提供了丰富的控件和组件,如文本框、按钮、...

    Visual basic vb6.0 制作个人调查表窗体.rar

    Visual basic vb6.0 制作个人调查表窗体,这个主要是练习一些VB Form 窗体控件中的元素用法,如果你初学习VB的话,这个例子非常适合你学习。  本例子中主要包括了对VB基本控件元素Check、Option、Text、Label、...

    vB常用控件必备知识

    4.1 Visual Basic 6.0控件概述 4.2 标 签 控 件 4.3 文本框控件 4.4 命令按钮控件 4.5 控件数组 4.6 本章小结 4.7 本章实训

    Visual Basic 2010入门经典.part2.rar

    8.3 在图像列表(Image List)控件中存储图片 140 8.4 使用列表视图(List View)控件创建增强的列表 141 8.4.1 创建列 141 8.4.2 添加列表项 142 8.4.3 使用代码操纵List View 143 8.5 使用Tree View创建层次...

    vb控件开发 开发ocx

    VB中防止将重复项目添加到列表框控件中 22 , 22.txt VB中用Multimedia MCI控件开发多媒体应用 23 , 23.txt Win Api在VB中的妙用 24 , 24.txt WINDOWS SCRIPT HOST对象在VB中的使用 25 , 25.txt 安装向导生成程序组并...

    SpyWorks – 突破VB局限实现C++功能的工具库集

    · 子类控件和hook控件可以用于Visual Basic .NET和C#。子类控件可用于同进程(in-process)和跨任务(cross-task)环境。在线程、应用程序或系统上提供了对hook控件的支持。同时也支持键盘hooks。 · 如何从.NET...

    资料,有关手机短信的编程方式和代码

    在设计一个应用程序时,visual basic许多控件的mousepointer属性允许程序员在预先定义好的若干个鼠标光标形状之中任选其一。但在应用程序中,有时候希望显示一个不同于预定义形状的光标。那么可以添加代码来改变控件...

    东大22春《可视化程序设计(VB)》在线平时作业3-00001

    6.在窗体上有一个文本框控件,名称为TxtTime:一个计时器控件,名称为Timerl,要求每一秒钟在文本框中显示一次当前的时间。程序如下: Private Sub Timer1_ () TxtTime.text=Time End Sub在下划线上应填入的内容是...

Global site tag (gtag.js) - Google Analytics