Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb6 Sheridan 3d控件(如SSComand、ssCheck等)的本机VB 6替代品_Vb6 - Fatal编程技术网

Vb6 Sheridan 3d控件(如SSComand、ssCheck等)的本机VB 6替代品

Vb6 Sheridan 3d控件(如SSComand、ssCheck等)的本机VB 6替代品,vb6,Vb6,我正在开发一个VB6应用程序,我想摆脱旧的Sheridan控件,用内置的VB6控件替换它们 然而,其中一些控件有一些很好的属性,比如ssCommand按钮上的前景。标准VB6命令按钮没有前台属性 我知道VB6可能有很多我可以启用的其他控件,但我不清楚哪些控件是相当“标准”的(即,不是第三方控件)。我想让这个应用程序尽可能简单,而不是创建依赖项。(是的,我知道VB6的任何组件都有很长的历史。我只是希望内置VB6控件具有更高的兼容性,因为它可能会被更多地使用,因此“冲击”的次数会更多,其缺陷也会更为

我正在开发一个VB6应用程序,我想摆脱旧的Sheridan控件,用内置的VB6控件替换它们

然而,其中一些控件有一些很好的属性,比如ssCommand按钮上的前景。标准VB6命令按钮没有前台属性

我知道VB6可能有很多我可以启用的其他控件,但我不清楚哪些控件是相当“标准”的(即,不是第三方控件)。我想让这个应用程序尽可能简单,而不是创建依赖项。(是的,我知道VB6的任何组件都有很长的历史。我只是希望内置VB6控件具有更高的兼容性,因为它可能会被更多地使用,因此“冲击”的次数会更多,其缺陷也会更为人所知


有什么建议吗?

我不同意你的推理。人们可能希望有人能给予更好的支持,因为他们的生活依赖于你是一个快乐的顾客


任何依赖VB6销售的供应商都可能很快破产。

我认为保持应用程序“普通”是一个值得追求的目标。当然,这可以简化部署

我认为找到VB6标准组件的最好方法是在干净的机器上安装VB6(加上service Pack)。所有可用组件都是标准组件


如果您无法做到这一点,对于项目中每个选中的组件或引用,请研究文件(dll、ocx等)参考。

在本场景中,您将面临一场艰苦的战斗。尝试消除对长期失效组件的依赖可能是一个好主意,但在这种情况下,您已经使用了一种废弃的技术。我很清楚,用更现代的技术(例如,.NET)重建应用程序是不可行的,因此留给您的选择有限

  • 将Sheridan控件替换为最匹配的现有VB6控件,然后相应地更新代码。这将是一个复杂、困难的过程,您可以正确地假设在许多情况下不会有匹配项--Sheridan(现在是Infrastics)通过提供VB6上没有的UI功能来建立他们的业务。在许多情况下,您的UI必须经过认真调整才能支持这一点
  • 考虑自己在VB6中编写“足够好”的控件版本,甚至在.NET中编写(后者使用来自的建议)
  • 考虑用开源VB6控件替换这些控件(可能已经废弃很久了)。谷歌将是你的朋友。我推荐这条路线的原因是,多年来ActiveX中有许多UI元素都是开源的,如果它们是开源的,你至少可以“支持你自己”

  • 我知道你将采用一种普通的香草盒式的VB6部署,但是对于一些UI元素来说,这可能是不可行的。如果你可以将你的UI重建到1个规格,那么就去做吧,但是你可能有太多的工作需要你去做,也许是时候考虑一下在一个现代的、支持的平台上进行攻势和重建了。经历了这一切,你会一直坚持下去,我对结果不太满意


    VB6无论如何也不是一个长期的解决方案。为什么不把它们留在那里呢?是的,它们被丢弃了,但我使用了它们,而且从来都不需要支持。(而且在第一次购买它们之后,它就变成了地狱。)我的经验是,它们非常可靠。我同意,如果你有现场问题,提供现场解决办法。

    在我看来,threed32.ocx(Sheridan SSControls)应该被删除,因为它有很多问题。它是所有的控制,包括面板和框架(!),很难升级到VB.NET-还有更多。对于我的公司来说,这些强大到足以超过它提供的额外功能-我们正在从所有程序中删除它

    有些讨论过于悲观。VB6还没有被抛弃——我们还没有——尽管毫无疑问,总有一天我们将不得不升级代码。Microsoft:

    系统支持VB6运行时 Windows Vista的整个生命周期, Windows Server 2008和Windows 7,这是五年的主流 五年的支持 扩大支持

    Microsoft仍在支持其许多VB6控件。请检查并仅使用其确实支持的控件。这些是Clay在原始问题中寻找的标准、经过测试、受支持的控件。如果要使用第三方组件,请检查供应商是否仍支持这些控件或者。我同意,在引入依赖项之前,您应该一直认真考虑自己能获得多少好处,这可能是一个令人头疼的支持问题。如果您使用特殊组件,请尝试将它们封装在抽象层中。如果您需要替换它们,这可能会为以后节省一些痛苦。您可以隐藏所有花哨的功能,但真正需要的功能除外我需要


    最后一句话-不要在SSCommand中使用ForeColor属性。没有相应的BackColor属性,因此您无法保证您的特殊前景色将与系统背景“button face”形成对比颜色。就像。

    有时候一点创意会大有帮助。例如,我希望我的VB6命令按钮有自定义的背景色和前景色,即使这违反了“Windows标准外观”;但是,由于我的项目不是商业性的,所以我不准备为该功能投入大量资金。所以我尝试了f对我来说,这是一个非常可行的解决方案:我用标签控件覆盖了我的按钮,现在有了看起来绝对真实的多色按钮。我可以通过编程控制按钮颜色,以反映各种操作状态,甚至超越了简单的“点击/不点击”组合。我的一个应用程序ions使用一组五个按钮