VBA中类的解读及应用第十六讲:让文本框在激活时改变颜色(中)

news2024/11/28 14:43:21

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。

类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入,有必要理解这些抽象的理论知识。对象,类,过程,方法,属性,事件,接口,接口如何实现等等。掌握了这些理论,不仅对于VBA这种寄生语言的实质有所深入的理解,也对自然界的很多事物将同样有所感悟。目前,这套教程程序文件已经通过32位,64位两种office系统测试。

这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:VBA中类的解读及应用第十六讲:利用类方法和事件,让文本框在激活时改变颜色(中)

5243263100c1b2e755a7d91445cb3368.jpeg

【分享成果,随喜正能量】最好的修行,用心甘情愿的态度,过随遇而安的生活,怀有一颗慈悲、感恩的心灵,修行的路上,处处都吉祥。

第十六讲 利用类方法和事件,让文本框在激活时改变颜色(中)

大家好,在上一讲中我们讲了利用类方法和事件,实现让文本框在激活时改变颜色的第一部分代码:类模块的建立。我们今天继续讲解,这讲讲的是窗体的代码。

3 窗体的构建及代码

为了实现上述的目的,我们首先要构建一个窗体,由文本框和按钮组成:

ef09a764917152276c6d6ca791b799a6.jpeg

窗体的代码如下:

Dim mytexbox() As New mytebox

Private Sub CommandButton1_Click()

If TextBox2.Text = "" Then

t1 = 0

Else

t1 = TextBox2.Text + 0

End If

If TextBox3.Text = "" Then

T2 = 0

Else

T2 = TextBox3.Text + 0

End If

If TextBox4.Text = "" Then

T3 = 0

Else

T3 = TextBox4.Text + 0

End If

TextBox1.Text = t1 + T2 + T3

End Sub

Private Sub CommandButton2_Click()

For i = 1 To 4

With UserForm7.Controls("TextBox" & i)

.ForeColor = 0 '(黑色)

.BackColor = 16777215 ' (白色)

.Text = ""

End With

Next

End Sub

Private Sub UserForm_Initialize()

For Each myctl In Me.Controls

If TypeName(myctl) <> "CommandButton" And TypeName(myctl) <> "Label" Then

yy = TypeName(myctl)

m = m + 1

ReDim Preserve mytexbox(1 To m)

Set mytexbox(m) = New mytebox '创建一个新的mycdl类对象

Set mytexbox(m).mBOX = myctl '设置关联

End If

Next

End Sub

代码截图:

1c51ec43f448ca528037452a37c9ff32.jpeg

d23e4b4e79c864b995e0d1961fe3b31c.jpeg

4 窗体代码的讲解

在上面的语句中有两个按钮的事件,及窗体的构建代码。

1) 窗体的构建函数:

Private Sub UserForm_Initialize()

For Each myctl In Me.Controls

If TypeName(myctl) <> "CommandButton" And TypeName(myctl) <> "Label" Then

yy = TypeName(myctl)

m = m + 1

ReDim Preserve mytexbox(1 To m)

Set mytexbox(m) = New mytebox '创建一个新的mycdl类对象

Set mytexbox(m).mBOX = myctl '设置关联

End If

Next

End Sub

上述代码中我们先对每一个控件进行循环,如果是文本框控件,那么将这个文本框定义为新的类并设置类与mBOX 类事件对象的关联。以便让文本框响应我们需要的动作。

2)“求和”按钮是把后三个的文本框值相加。

3) “重置”按钮是清空文本框内容,包括颜色设置地复位。

今日内容回向:

1 在窗体的构建中要解决什么问题?

2 如何让窗体的实际对象响应已经定义了类事件的对象?

本讲内容参考程序文件:VBA-CLASS(1-28).xlsm

3c965b2bdb922840666f29b0f9939dae.jpeg

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:

9795307dedcdc5c4c861c8e9d8142ffd.jpeg

1a4e75c6e9d26e547fc1484a0d971683.jpeg



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2189470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据链路层(以太网简介)

一.以太网数据帧结构&#xff1a; 目的地址&#xff0c;源地址&#xff0c;类型这三个被称为帧头&#xff0c;数据则被称为载荷&#xff0c;CRC则被称为帧尾&#xff08;校验和&#xff09; 二.数据帧结构分析 1.目的地址和源地址 i.地址解释 这两个地址指的是mac地址&#x…

【AIGC】2022-NIPS-视频扩散模型

2022-NIPS-Video Diffusion Models 视频扩散模型摘要1. 引言2. 背景3. 视频扩散模型3.1. 重建引导采样以改进条件生成 4. 实验4.1. 无条件视频建模4.2. 视频预测4.3. 文本条件视频生成4.3.1 视频与图像建模的联合训练4.3.2 无分类器指导的效果4.3.3 更长序列的自回归视频扩展 5…

数通 2

一 网络层 数据传输中最大支持1518字节&#xff0c;所以超过这个一次传不过去&#xff0c;就要分开传&#xff0c;就像快递标记1/2, 2/2 。说明你有两包 下图例子解释了 identification 用于标识一台设备发送的数据 片偏移&#xff0c;就是 你 好 吗 三个分片谁先到达不一定&…

C语言 | Leetcode C语言题解之第457题环形数组是否存在循环

题目&#xff1a; 题解&#xff1a; int next(int* nums, int numsSize, int cur) {return ((cur nums[cur]) % numsSize numsSize) % numsSize; // 保证返回值在 [0,n) 中 }bool circularArrayLoop(int* nums, int numsSize) {for (int i 0; i < numsSize; i) {if (!n…

vue-live2d看板娘集成方案设计使用教程

文章目录 前言v1.1.x版本&#xff1a;vue集成看板娘&#xff08;暂不使用&#xff0c;在v1.2.x已替换&#xff09;集成看板娘实现看板娘拖拽效果方案资源备份存储 当前最新调研&#xff1a;2024.10.2开源方案1&#xff1a;OhMyLive2D&#xff08;推荐&#xff09;开源方案2&…

小米 MIX FOLD工程固件 更换字库修复分区 资源预览与刷写说明

小米 MIX FOLD机型代号 :cetus 该手机搭载骁龙888旗舰处理器 。对于一些因为字库问题损坏导致的故障,更换字库后要先刷写对应的工程底层修复固件。绑定cpu后在写入miui量产固件。 通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝💝-----此…

合肥企业参访:走进联想合肥智能制造基地参观学习

跟随华研标杆游学高丽华高老师去到联想参观游学 联想合肥智能制造基地成立于2011年&#xff0c;是联想集团全球蕞大的PC研发和制造基地&#xff0c;也是智能制造示范基地。基地占地约500亩&#xff0c;拥有全球PC制造业蕞大的单体厂房以及业界主板、整机生产线。在这里&#xf…

fiddler抓包17_简单接口测试(Composer请求编辑)

课程大纲 ① 进入“Composer”&#xff08;请求编辑&#xff09;界面&#xff1a; Fiddler右侧标签菜单选择“Composer”&#xff0c;中文“请求编辑” 。 ② 编辑、发送请求&#xff1a; 填写接口请求信息&#xff08;或从左侧列表直接拖拽填充&#xff09;&#xff0c;点击“…

力扣 简单 100.相同的树

文章目录 题目介绍解法 题目介绍 解法 采用递归的思想 class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {if(p null || q null){return p q; // 必须都是 null才返回true}return p.val q.val && isSameTree(p.left, q.left) && isSa…

【Qt】控件概述(3)—— 显示类控件

显示类控件 1. QLabel——标签1.1 setPixmap设置图片1.2 setAlignment设置文本对齐方式1.3 setWordWrap设置自动换行1.4 setIndent设置缩进1.5 setMargin设置边距1.6 body 2. QLCDNumber2.1 使用QTimer实现一个倒计时效果2.2 使用循环的方式实现倒计时 3. QProgressBar——进度…

Linux安装AnythingLLM

1. AnythingLLM 简介 AnythingLLM 是 Mintplex Labs 开发的一款可以与任何内容聊天的私人ChatGPT&#xff0c;是高效、可定制、开源的企业级文档聊天机器人解决方案。它能够将任何文档、资源或内容片段转化为大语言模型&#xff08;LLM&#xff09;在聊天中可以利用的相…

【Android】设备操作

本文介绍App开发常用的一些设备操作&#xff0c;主要包括如何使用摄像头进行拍照、如何使用麦克风进行录音并结合摄像头进行录像、如何播放录制好的音频和视频、如何使用常见传感器实现业务功能、如何使用定位功能获取位置信息、如何利用短距离通信技术实现物联网等。 摄像头 …

Armeria gPRC 高级特性 - 装饰器、无框架请求、阻塞处理器、Nacos集成、负载均衡、rpc异常处理、文档服务......

文章目录 定义一个示例高级特性装饰器概述简单案例多种装饰方式 无框架请求概述使用方式 阻塞任务处理器背景概述多种使用方式 rpc 异常统一处理使用方式更详细的异常信息 Armeria 提供 gRPC 客户端多种调用方式同步调用异步调用使用装饰器 负载均衡简单案例Armeria 提供的所有…

5G NR相关笔记

为了提供一致且准确的时序定义&#xff0c;NR规范了一个 基本时间单位 T c 1 / ( 480000 4096 ) , T_c1/(480 000\times 4096), Tc​1/(4800004096),所有与5GNR相关的时间的定义都被描述为这个基本时间单位的整数倍。基本时间单位 T c T_c Tc​ 因此可以看成是子载波间隔480…

10.2 Linux_进程_进程相关函数

创建子进程 函数声明如下&#xff1a; pid_t fork(void); 返回值&#xff1a;失败返回-1&#xff0c;成功返回两次&#xff0c;子进程获得0(系统分配)&#xff0c;父进程获得子进程的pid 注意&#xff1a;fork创建子进程&#xff0c;实际上就是将父进程复制一遍作为子进程&…

【AIGC】2023-ICCV-使用 Transformer 的可扩展扩散模型

2023-ICCV-Scalable Diffusion Models with Transformers 使用 Transformer 的可扩展扩散模型摘要1. 引言2. 相关工作3. 扩散 Transformer3.1 准备工作3.2 扩散 Transformer 设计空间 4. 实验设置5. 实验5.1 最先进的扩散模型5.2 缩放模型与采样计算 6. 结论参考文献 使用 Tran…

Ubuntu24.04远程开机

近来在几台机器上鼓捣linux桌面&#xff0c;顺便研究一下远程唤醒主机。 本篇介绍Ubuntu系统的远程唤醒&#xff0c;Windows系统的唤醒可搜索相关资料。 依赖 有远程唤醒功能的路由器&#xff08;当前一般都带这个功能&#xff09;有线连接主机&#xff08;无线连接有兴趣朋友…

PostgreSQL技术内幕13:PostgreSQL通讯协议

文章目录 0.简介1.PG通讯协议1.1 消息格式1.2 消息交互流程1.2.1 启动流程1.2.2 简单查询流程1.2.3 扩展查询1.2.3.1 pipelining 1.2.4 取消流程1.2.5 结束流程1.2.6 copy流程1.2.7 错误和通知 0.简介 之前文章对于PG的内部模块做了一些介绍&#xff0c;接下来对PG和外部交互的…

GS-SLAM论文阅读笔记-MGSO

前言 MGSO首字母缩略词是直接稀疏里程计(DSO)&#xff0c;我们建立的光度SLAM系统和高斯飞溅(GS)的混合。这应该是第一个前端用DSO的高斯SLAM&#xff0c;不知道这个系统的组合能不能打得过ORB-SLAM3&#xff0c;以及对DSO会做出怎么样的改进以适应高斯地图&#xff0c;接下来…

【有啥问啥】SE(Squeeze-and-Excitation)架构详解

SE&#xff08;Squeeze-and-Excitation&#xff09;架构详解 在深度学习&#xff0c;特别是计算机视觉领域&#xff0c;卷积神经网络&#xff08;CNN&#xff09;的发展日新月异。为了进一步提升CNN的特征提取能力和模型性能&#xff0c;研究者们不断探索新的网络架构和组件。…