gpt4 book ai didi

vb6 - 替换vb6中的表单控件

转载 作者:行者123 更新时间:2023-12-04 19:42:16 25 4
gpt4 key购买 nike

我们有一个内部按钮控件,坦率地说,它很糟糕。我想替换它,但我不想进入我们项目中的每个表单并删除/添加新控件。在我看来,如果我设计一个与旧按钮具有所有相同属性的新按钮,那么我应该能够给它与旧按钮相同的名称,只需替换 vbp 文件中的所有引用线以指向到新控件。

有没有人尝试过这个(最好你听说过可以为你做这件事的工具),如果有的话,我应该注意什么“陷阱”?

谢谢!

最佳答案

*.vbp 文件是您需要更改的地方。在包含 GUI 的文件中也有对所用控件库的引用——即表单 (*.frm)、控件 (*.ctl) 和属性页 (*.pag) 文件。这些文件采用纯文本格式,您可以在顶部看到引用。它们看起来像这样:

Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"

如果新控件是已编译的 OCX,则需要在所有相关文件中添加或更新这些引用。如果它在同一个项目中,我认为它不需要任何引用,如果它在同一个项目组的不同项目中,我不确定。保存带有新控件的测试表单以供查看。

请注意,您不必保持相同的控件类名称。在 *.frm/ctl/pag 文件中,它们上的各个控件的实例以如下简单格式表示:

Begin VB.CommandButton Command2 
Caption = "Cancel"
Height = 375
Left = 2460
TabIndex = 1
Top = 2400
Width = 1455
End

第一行的语法是“Begin LibraryOrProjectName.ClassName NameOfThisInstance”。因此,如果违规控件的名称与众不同,那么在 BASIC 源代码和 GUI 布局中搜索和替换对它的引用应该很容易。您可能需要一个可以跨多个文件执行搜索和替换的纯文本编辑器(Notepad++ 就是其中之一)。

一些控件属性是这样存储的:

   Picture         =   "frmMain.frx":292F

这些对应于 *.frx、*.ctx 和 *.pgx 文件,其中包含某些控件属性值的二进制数据。我认为这些文件不需要更改或导致任何问题。它们似乎不包含控件名称。

使用完整编译 (Ctrl+F5) 以确保之后在部分源代码中没有问题。

从未尝试过。祝你好运。

关于vb6 - 替换vb6中的表单控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8207389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com