clswindow是vb6中的一个类,主要用来访问Windows窗口及内部控件,可以改写和获取,用的最多的是填写某个窗口中的输入框,例如用来做登录器,填写表单。关于该类更多介绍可以参考:https://blog.csdn.net/sysdzw/article/details/9083313
我们经常会遇到一个窗口中有多个输入框,且输入框的类名一样,那么该如何区分填写呢?
要解决这个问题需要先明白一个原则,多个输入框用遍历控件的方法访问,不管访问多少次,它的先后顺序是一致的,除非做软件的故意将每次显示时控件顺序打乱,例如动态生成的控件随意摆放位置,一般这个情况下极少,目前还没遇到过。这样就可以根据次序来进行填写。
那么我们的思路是这样的:1.测试输入框的次序, 2.根据次序填写到目标输入框
测试次序的代码:
Dim i%
Dim w As New clsWindow
w.GetWindowByTitleEx "微标电脑收发存统计系统", 1
i = 0
Do
i = i + 1
If Not w.SetElementTextByClassName("ThunderRT6TextBox", "次序" & i, i) Then Exit Do
Loop
MsgBox "次序填写完毕!"
这样子的话我们就可以区分输入框了,例如窗口里有5个输入框,你要填写的输入框通过上面的测试是“次序4”,想把它填写为xxxxxx,那么你就可以编写代码:
w.SetElementTextByClassName "ThunderRT6TextBox", "xxxxxx", 4
同样的如果要读取第“次序4”的输入框的内容,用下面代码:
MsgBox w.GetElementTextByClassName("ThunderRT6TextBox", 4)
关于clswindow类的介绍,请参考:https://blog.csdn.net/sysdzw/article/details/9083313
本文详细介绍了VB6中的clswindow类,该类主要用于访问Windows窗口及其内部控件,特别适用于填写表单和登录器。文章提供了如何区分并操作多个相同类名的输入框的方法,通过遍历控件并按顺序填写或读取输入框内容。

4498

被折叠的 条评论
为什么被折叠?



