Microsoft支持哪些VB6控件?

Microsoft支持哪些VB6控件?,vb6,Vb6,我正在寻找Sheridan 3D面板(ssPanel)的替代品,并试图找出可以添加到项目中的哪些控件>组件,这些控件将得到Microsoft的支持。(即,我不想添加MS不正式“支持”的控件,如MS Forms 2.0对象库) 更新 (或者至少是它使用的文件)MarkJ的一条评论让我重新阅读了Q,从“替换”我现在明白这可能是一个重新编码/新版本的项目,而不是从头开始。。。下面的原始答案并不能解释这一点。 同时,MS说它正在支持一种没有路线图或承诺资源的语言的核心运行时文件,所以我的答案的底线仍然是

我正在寻找Sheridan 3D面板(ssPanel)的替代品,并试图找出可以添加到项目中的哪些控件>组件,这些控件将得到Microsoft的支持。(即,我不想添加MS不正式“支持”的控件,如MS Forms 2.0对象库)

更新
(或者至少是它使用的文件)

MarkJ的一条评论让我重新阅读了Q,从“替换”我现在明白这可能是一个重新编码/新版本的项目,而不是从头开始。。。下面的原始答案并不能解释这一点。 同时,MS说它正在支持一种没有路线图或承诺资源的语言的核心运行时文件,所以我的答案的底线仍然是:VB6停止,新项目可以使用Python,VB.App,java,C++,Cype,不管什么。 原件: 没有一个VB6.0已经到了生命的尽头。走吧,巨蟒!或者Java,或者C#。。。永远不要使用vb.net,因为它比Java难很多/密度很大,丝毫没有VB6.0语法,而且学习曲线只比C#低一点

另外,有人投反对票是很有趣的,因为我把vb.net与java或c#相比,简直是一塌糊涂。
我想知道,作为一名以前的vb6程序员,我不会转向任何.net风格。您需要SSPanel行为的哪一部分

  • 如果是自定义外观(凸起的3D边缘等),则基于固有的VB6标签和线条控件编写用户控件并不难。在下面的放大屏幕截图中查看SSP面板的边缘。它只是一个像素的边框。颜色为系统颜色:左侧和顶部为“按钮高亮显示”和H8000014&右侧和底部为“按钮阴影”和H8000010&。在用户控件中放置四行控件,并在resize事件中编写代码以将它们移动到控件的边缘

  • 如果您需要一个可以充当容器的标签,您可以使您的用户控件能够成为容器(设置
    ControlContainer
    True)

  • 垂直居中的文本。我不知道怎么做才好。谷歌正在使用PictureBox和TextHeight方法创建一个用户控件


编辑还有另一种方法,我正在我的一些项目中使用。尽管SSPanel不受支持,并且知道它的功能,但请继续使用它。它似乎在Vista和XP上运行良好-尚未在Windows 7上测试。

没有支持的控件列表:您必须查看Microsoft VB6支持声明中的。您需要确定哪些控件位于这些OCX中。您可以启动一个新的VB6项目,在项目组件中勾选OCX,并查看工具栏中哪些控件可用


自白我在社区维基上做了这个回答,因为这个信息最初是在对另一个答案的评论中,但是这个答案现在被删除了。当我否决了答案时感到有点内疚(它说VB6不受支持,这是误导)。

作为扩展MarkJ思想的旁注(我知道这个问题有点老,但我最近不得不处理移植一些旧的VB应用程序):有些情况下SSPanel被用作带有背景颜色的容器,没有文字。尽管这看起来似乎是在说明显而易见的问题,但Forms.Panel在类中确实工作得相当好,可以避免“Sheridan 3D控件”依赖关系,并在这些简单的情况下使分发更容易

VB.net转换器工具可能会生成以下内容:

Public WithEvents ssPanel As AxThreed.AxSSPanel
Me.ssPanel = New AxThreed.AxSSPanel
ssPanel.OcxState = CType(resources.GetObject("ssPanel.OcxState"),
                         System.Windows.Forms.AxHost.State)
CType(Me.ssPanel, System.ComponentModel.ISupportInitialize).EndInit()
很容易将其更改为:

Friend WithEvents ssPanel As System.Windows.Forms.Panel
me.ssPanel = New System.Windows.Forms.Panel
' No longer necessary:
' ssPanel.OcxState
' CType(Me.ssPanel, System.ComponentModel.ISupportInitialize).EndInit()

微软仍然支持Vb6吗?我以为它已经到了生命的尽头“从2008年3月开始,Visual Basic 6.0将不再受支持”,因为现有应用程序的VB运行时是(并且包含在Win7中),而不是IDE/compiler/…我想知道您为什么要使用VB 6进行新的开发。@Jonathan Allen。我猜这是对现有代码的维护,而不是新的开发。否则克莱为什么会担心SSPanel呢?@Jonathan-是的,它在维护旧程序。这肯定是我听过的关于vb.net的最荒谬的评论之一,我没听清楚。你是说不要使用VB.NET,因为它比Java更难。但是你也在说使用C语言,因为它比VB.NET更难?我投票支持你,因为通过匆忙的回答,你的基本观点似乎是,学习C语言或Java最终将是一个更好的职业发展。(我也喜欢电子产品。)事实上,如果你是vb6,你要么想升级到C#,因为vb.net不再那么轻巧和简单,要么选择其他东西。我会完全离开.net,如果长期(10年)项目是我的目标,我会尝试java,或者再次使用更加简单、易于控制的应用程序python。结束vb(MS“直到赢得7个支持”的谈话是不相关的,开发已停止)是MS的必要条件,我很遗憾,因为这让我解决了大量日常问题,开发成本远远低于所指出的备选方案。vb.app的倒计时开始了吗?恕我直言:你得到了反对票,因为这是一个关于维护VB6代码的问题,而仅仅说“你必须用Python/Java/C#重写整个应用程序”不太可能是最好的方法。(就给代码所有者最好的回报而言——克莱的薪水)我需要在几个地方使用它们,它们需要动态调整大小,并且具有与ssPanel相同的界面(相同的事件等),这样我就不需要重新编码一堆东西。具体功能是:在面板中央显示文本,并且(理想情况下)具有“凸起”的3d边缘。您的意思是垂直居中文本吗?固有的VB6标签可以水平居中,但不能垂直居中。SSP面板支持这两种功能。