百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

一文学会VB编程,简单实用不费力

yuyutoo 2025-03-11 22:49 4 浏览 0 评论

应用实例:

给VB程序加菜单图标:

在VB里面加图标比较麻烦,你需要用到API函数进行调用,参数不好理解:

给菜单添加图标的API函数:GetMenu、GetSubMenu、GetMenuItemID、SetMenuItemBitmaps。

写代码前你要把ImageList控件放到窗体上,如果工具栏中找不到它,通过“工程”菜单下的“部件”进行添加:

将ImageList控件添加到窗体后,右键属性弹出窗口,插入图片添加你需要用的小图像:

编写代码:

代码解释:

前面你要声明几个API函数

GetMenu:获得弹出菜单的句柄,判断窗体上到底有没有菜单控件,否则返回Null值,hwnd参数用来指定有菜单的窗口。

GetSubMenu:获得弹出菜单的句柄,hmenu参数用来指定父菜单,npos菜单用来指定弹出菜单在主菜单中的位置。

SetMenuItemBitmaps:把位图搞过来,wflags参数决定npos参数指定的是ID还是顺序编号,hBitmapUnchecked和hBitmapChecked指定菜单项的位图。

如果知道这几个函数的功能和参数的作用就不难理解窗体程序中加载的代码了:

menu1 = GetMenu(Me.hwnd):判断有没有菜单

menuid = GetMenuItemID(GetSubMenu(menu1, 0), i - 1):获取菜单的ID数值

SetMenuItemBitmaps menu1, menuid, bitmap, ImageList1.ListImages(i).Picture, ImageList1.ListImages(i).Picture:将图像通过FOR循环依次赋值给这个菜单

运行:

应用实例

控件用法:

在Visual Basic环境下,TextBox控件主要的作用是接收用户输入、编辑和修改的内容,显示程序输出的信息,体现了程序与用户的交互性。

实现:

登录系统需要输入用户名和密码,使用TextBox控件限制用户输入用户名和密码的字符数量,限制密码框中输入的字符数量不超过6位,当用户输入的数量超限时,则弹出消息框加以提示。

实现步骤:

1、创建一个新窗体默认名称Form1

2、添加PictureBox控件,Picture属性设置为

3、在窗体上添加两个TextBox控件,对这两个控件的MaxLength属性进行设置,,密码框的PasswordChar属性设置为“*”:

4、在窗体上放置两个Label控件:

5、在窗体加载事件中编写代码:

6、运行程序,向用户名框内输入字符:

输入字符密码:

应用实例:

在学生管理系统中显示学号时,要求文本框中显示的学号要体现入学日期、班级信息和学生编号

实现步骤

1、创建一个新窗体默认名称Form1

2、在窗体上添加Frame控件,你可以在它里面放置其它控件,这样使得它们成为一个区域的整体,窗体设计中常常用到这个控件,通过它可以创建控件组:

3、修改Frame控件的Caption属性,并在Frame控件中添加四个Label控件和四个TextBox控件,并分别对四个Label控件的Caption属性进行相应修改:

4、在窗体上放置两个CommandButton控件,通过点击“确定”按钮,实现学号自动显示,单击“退出”按钮,实现结束程序:

5、添加程序代码

Private Sub Command1_Click()
    Dim a, b, c
    a = Text1.Text
    b = Text2.Text
    c = Text3.Text
    Text4.Text = Trim(a) & Trim(b) & Trim(c)
End Sub

Private Sub Command2_Click()
    End
End Sub

Private Sub Form_Load()
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
    Text4.Text = ""
    Text5.Text = ""
End Sub

6、运行程序,输入入学日期、编入班级和编号,自动生成学号

点击确定按钮

实现了学号的自动生成,实际上我们可以通过读取学生信息文件,将所有的学生学号进行自动生成并保存到文件中,可以保存成文本格式文件,也可以保存成表格文件,还可以保存成数据库格式文件。

应用实例:

在添加学生信息时,当添加到学生所在地时,不需要手动输入,可以直接从列表中进行选择

实现步骤

再添加一个Label控件、一个文本框控件和一个ComboBox控件,Label控件的内容为“学生所在省份”,ComboBox控件的下拉列表框将省份名称送给文本框控件:

代码:

Private Sub Form_Load()
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
    Text4.Text = ""
    Text5.Text = ""
End Sub

Private Sub Combo1_Click()
    Text5.Text = Combo1.Text
End Sub

运行程序,输入学生信息,在下拉列表框中选择学生的住所:

应用实例4:

不允许用户在文本框中输入数字信息,如果用户在文本框中输入数字信息,则自动进行删除操作。

实现步骤:

在窗体中放置一个Label控件和一个TextBox控件,并将TextBox控件的MultiLine属性设置为True,ScrollBars属性设置为2-Vertical:

代码:

Private Sub Text1_Change()
    Dim j, c
    If Text1.Text = "" Then
        Text1.SetFocus
        Exit Sub
    Else
        j = Len(Text1.Text)
        Do While (j <> 0)
            c = Left(Right(Text1.Text, j), 1)
            If IsNumeric(c) Then
                Text1.Text = Left(Text1.Text, Len(Text1.Text) - j) + Right(Text1.Text, j - 1)
                Text1.SelStart = Len(Text1.Text)
            End If
            j = j - 1
        Loop
    End If
End Sub

这里面用到了几个函数:

Len(Text1.Text):求取文本的长度

Left(Right(Text1.Text, j), 1):从左边和右边截取字符

IsNumeric(c):判断是否为数字

还用到了Do While…loop循环语句

运行程序,你输入数字,则文本框直接过滤掉,输不进去:

结语:如果想学更多,请关注转发收藏

相关推荐

VBA中利用Instr函数(vba int函数)

【分享成果,随喜正能量】每一个在你的生命里出现的人,都有原因,喜欢你的人给了你温暖和勇气,你喜欢的人让你学会了爱和自持,你不喜欢的人教会你宽容与尊重,不喜欢你的人让你自省与成长。。...

Insta360 Link体验:支持4K画质,一款使用场景丰富的AI云台摄像头

记者|王公逸伴随直播、线上会议需求的兴起,网络直播的需求愈发增大,8月2日,影石Insta360正式推出全新产品:Insta360Link,这是一款AI智能云台摄像头。从产品形态来说,Insta3...

VBA技术资料MF299:利用Instr进行文本查找

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VB...

Fabric.js 拖放元素进画布 - 掘金

本文简介点赞+关注+收藏=学会了学习Fabric.js,我的建议是看文档不如看demo。本文实现的功能:将元素拖进到画布中并生成对应的图形或图片。效果如下图所示:...

Vue3为什么推荐使用ref而不是reactive

为什么推荐使用ref而不是reactivereactive本身具有很大局限性导致使用过程需要额外注意,如果忽视这些问题将对开发造成不小的麻烦;ref更像是vue2时代optionapi的data的替...

Fabric.js 样式不更新怎么办?(js更改样式)

本文简介带尬猴,我嗨德育处主任不知道你有没有遇到过在使用Fabric.js时无意中一些骚操作修改了元素的样式,但刷新画布却没更新元素样式?如果你也遇到同样的问题的话,可以尝试使用本文的方法。...

Fabric.js 修改画布交互方式到底有什么用?

本文简介点赞+关注+收藏=学会了fabric.js为我们提供了很多厉害的方法。今天要搞明白的一个东西是canvas.interactive。官方文档对canvas.interact...

Rust Web编程:第五章 在浏览器上显示内容

我们现在正处于可以构建一个Web应用程序的阶段,该应用程序可以使用不同的方法和数据管理一系列HTTP请求。这很有用,特别是当我们为微服务构建服务器时。然而,我们也希望非程序员能够与我们的应...

Fabric.js 自由绘制椭圆 - 掘金(canvas画椭圆)

本文简介点赞+关注+收藏=学会了本文讲解在Fabric.js中如何自由绘制椭圆形,如果你还不了解Fabric.js,可以查阅《Fabric.js从入门到精通》。效果如下图所示...

手把手教你实现JS手搓&quot;防抖&quot;优化代码——专业的事用专业的方法!

前言在我们前端编程中,假如我们要给后端发送请求,万一手抖多点了几次,多发送了几遍怎么办?解决方案:防抖!这种事就要交给我们专业的“防抖”先生来处理!今天,我们就来教大家手搓“防抖”...

详解虚拟DOM与Diff算法(虚拟dom一定比实际dom快吗)

vue的虚拟DOM,Diff算法,其中一些关键的地方从别处搬运了一些图进行说明(感谢制图的大佬),也包含比较详细的源码解读。...

走进 React Fiber 的世界(我走进你的世界手势舞视频)

文/阿里淘系F(x)Team-冷卉Fiber设计思想Fiber是对React核心算法的重构,facebook团队使用两年多的时间去重构React的核心算法,在React16以上...

前端新一代框架 Svelte 火了!十个场景带你简单认识它!

近几年听到的主流框架都是Vue、React、Angular,但其实有一个框架在国外非常火,用起来也是很方便,那就是...

借助DeepSeek实现了一个PDF阅读器

1、简介使用pdf.js库加载和显示PDF文件。实现了翻页、缩放功能。提供了基本的错误处理。功能特点:支持选择本地PDF文件。可以逐页查看PDF内容。支持放大缩小功能。界面简洁,易于使...

DeepSeek代码之旅1:卫星地图标记方法之——html语言的实现

最近遇到一个任务,具体功能如下:1、调用高德地图API,图层为卫星图层,根据需要标记兴趣点;2、标记完成后可以保存兴趣点,便于下次加载历史兴趣点。...

取消回复欢迎 发表评论: