通用控件替代品
用户指南和工具
注意 - 本文档随附StdEXE工具的3.3版本。工具的更新日志在本文档末尾的表格中。3.3版本增加了使用VBCCRxx.OCX到1.7版本和VBFLXGRDxx.OCX到新版本1.6的能力。
自2012年11月以来,VBForums上一位名叫Krool的用户一直在开发一套Windows通用控件的替代品。替换这些控件已经被很多人讨论过,但直到现在还没有人成功过。Krool主要是自己在做这项工作,在论坛中进行了大量调试和反馈。2017年年中,Krool承担起了为MSFlexGrid控件开发替代品的任务。虽然它与其他替代控件非常相似,但他决定在论坛的一个单独的主题中进行开发。
这个包将为您提供一些关于如何在程序中设置和使用这些控件的提示,并指导您减少或消除对代码以外的任何文件的依赖。
Krool的控件将在您的工具箱中显示类似于下面的内容。它们的功能就像VB6内置的其他控件一样。只需将它们放在窗体或其他控件上即可。您可以添加的控件如下所示。
这些新控件能为您和您编写或维护的程序做什么?
- 它们使用Unicode。如果你在互联网上查找,你会发现这里那里有使用Unicode的控件,但Krool的两个包允许你在一个统一的包中完成34个Windows通用控件。
- 它们拥有比VB6和VBA程序员多年来使用的通用控件更多的增强功能。
- 它们可以使用主题,这里简化了一些复杂的事情,所以您的每个程序都可以有一个现代的外观,而不是看起来像来自Windows 95。
- 这些控件可以嵌入到您的代码中,这样您的最终EXE文件就不会有任何依赖项,就是一个不需要注册或安装的可执行文件(例如,您可以从U盘运行它)。或者,它可以使用传统的控件版本(使用.OCX文件),但使用"并排"方式,这样.OCX文件就不必在最终用户的PC上注册,而是放在程序文件夹中。这两种技术使您能够为用户提供真正便携的解决方案。
- Krool的代码一直在变得更稳定,但用户和作者随时都可以帮助解决问题,添加新功能等。
- 我在这个包中包含了一个用户指南,不是针对每个控件本身,而是针对整个包(本文档)。
- 包含一个名为OCX2StdEXE的工具,可帮助您及时了解最新的控件,并使您能够在程序开发中使用OCX版本,但在编译代码程序时使用StdEXE版本。
- EXE文件是完全独立的,没有外部依赖项。它不需要在最终用户的PC上安装程序,也不需要与需要在最终用户PC上注册的.OCX控件文件一起分发。
- 在IDE中使用Krool的StdEXE控件(不是传统的.OCX控件文件)并不完全安全,尽管他已经努力将IDE中的崩溃降至最低。在IDE中使用.ocx版本更安全,速度也快得多,该工具使您能够获得这个好处,同时生成所有控件嵌入程序的最终代码,不需要依赖项。
- 在IDE中使用StdEXE版本的控件不仅存在一些稳定性风险,而且每次编译程序时都会导致重新编译控件代码(在我的电脑上,使用.ocx版本导致编译一个典型程序不到3秒,但使用StdEXE控件需要25秒。做一次没问题但在开发过程中重复做会变得很麻烦。使用OCX2StdEXE工具,您可以使用.ocx版本进行开发(速度和稳定性),然后最终使用StdEXE编译,以获得文件大小和无依赖性的好处。