Author Topic: VB6 Common Controls Replacement  (Read 14977 times)

Offline John

  • Forum Support / SB Dev
  • Posts: 3597
    • ScriptBasic Open Source Project
VB6 Common Controls Replacement
« on: October 29, 2015, 01:44:09 AM »
Project Thread - VBForums

Q. What is the benefit of using these over the existing controls?
Q. Does each control have the same properties? Do they have new properties?

Quote
The benefit is that these controls are linked to the comctl32.dll, that means they support the latest API calls, functions, properties and visual styles (themes).

The existing common controls 6.0 from MS are not linked to the comctl32.dll, so they doesn't support the visual styles (themes).
Reason why: The controls of the comct32.dll are compiled directly into the common controls 6.0 from MS, but as of state of a old version of comctl32.dll

Only the common controls 5.0 from MS are linked to the comctl32.dll, but the COM hull is very old and so they have a leak of the latest functions and properties. Also controls like the DTPicker, MonthView or UpDown are not included.

Quote from: Kroo
This project is intended to replace the MS common controls for VB6.

The "MSCOMCTL.OCX" (respectively "COMCTL32.OCX") can be replaced completly.
The "MSCOMCT2.OCX" (respectively "COMCT232.OCX") can be replaced completly.
The "RICHTX32.OCX" can be replaced completly.
The "COMDLG32.OCX" can be replaced completly.
The "COMCT332.OCX" can be replaced completly.
The "MCIWNDX.OCX" (shipped with VB5) can be replaced completly.
The "SYSINFO.OCX" can be replaced completly.

Following controls are available at the moment:

-   Animation
-   CheckBoxW
-   ComboBoxW
-   CommandButtonW
-   CommandLink
-   CoolBar
-   CommonDialog (Class Module)
-   DTPicker
-   FrameW
-   HotKey
-   ImageCombo
-   ImageList
-   IPAddress
-   LabelW
-   LinkLabel
-   ListBoxW
-   ListView
-   MCIWnd
-   MonthView
-   OptionButtonW
-   Pager
-   ProgressBar
-   RichTextBox
-   Slider
-   SpinBox
-   StatusBar
-   SysInfo
-   TabStrip
-   TextBoxW
-   ToolBar
-   TreeView
-   UpDown

Unicode is supported for all the stated controls.

At design time (IDE) there is only one dependency. (OLEGuids.tlb)
This is a modified version of the original .tlb from the vbaccelerator website.
But for the compiled .exe there are no dependencies, because the .tlb gets then compiled into the executable.

Everything should be self explained, because all functions and properties have a description.
The attached file is a .rar file with a .zip extension so it could be uploaded.
This is necessary as for a zip file there is a file limit of 500 KB.

« Last Edit: July 21, 2018, 02:14:02 AM by John »

Mike Lobanovsky

  • Guest
Re: VB6 Common Controls Replacement
« Reply #1 on: October 29, 2015, 11:50:03 AM »
A. Neither MSCOMCTL.OCX nor MSCOMCT2.OCX are legally redistributable. They are installed as part of your legal MS Developer Studio 6 installation for you to be able to design and debug applications that rely on them for proper operation.

However they may not be bound into the bundle that your VB6 app installer fetches to the end user's computer for deployment together with your app and its dependencies. The end user is supposed to already have, or plan to have, a legal installation of those two controls on their computers. That's why you won't be able to find a legit 3rd-party source to download them from the net.

On account of that, legitimately free to use binary compatible custom replacements for the two libraries may still be in great demand among the law-abiding license-aware VB6 user base. :)
« Last Edit: October 29, 2015, 12:17:40 PM by Mike Lobanovsky »

Offline John

  • Forum Support / SB Dev
  • Posts: 3597
    • ScriptBasic Open Source Project
Re: VB6 Common Controls Replacement
« Reply #2 on: October 29, 2015, 03:53:12 PM »
Quote
Neither MSCOMCTL.OCX nor MSCOMCT2.OCX are legally redistributable.

Quote from: MS devtools FAQ
Microsoft Visual Basic

7. What lifecycle support policy does Visual Basic 6.0 follow?

Microsoft is committed to support existing Visual Basic 6.0 applications running on Windows Vista, Windows Server 2008 including R2, Windows 7, Windows Server 2012, Windows Server 2012 R2, Windows 8.x, and Windows 10. As detailed HERE, the core Visual Basic 6.0 runtime will be supported for the full lifetime of Windows operating system with which it shipped for serious regressions and critical security issues.

Visual Basic 6.0 is made up of these key deliverables:

    Visual Basic 6.0 IDE [Integrated Development Environment] is no longer supported as of April 8, 2008.
    Visual Basic 6.0 Runtime -- the base libraries and execution engine used to run VB6 applications.
    Visual Basic 6.0 Runtime Extended Files – select ActiveX control OCX files, libraries, and tools shipping with the IDE media and as an online release.
« Last Edit: October 29, 2015, 04:09:56 PM by John »

Mike Lobanovsky

  • Guest
Re: VB6 Common Controls Replacement
« Reply #3 on: October 29, 2015, 09:13:49 PM »
Correction accepted. Seems like MS isn't going to make money on those two libraries any more as it did before. I stopped using VB6 and switched to FBSL somewhere around 2005. So far so good for you John. :)

Offline John

  • Forum Support / SB Dev
  • Posts: 3597
    • ScriptBasic Open Source Project
Re: VB6 Common Controls Replacement
« Reply #4 on: July 21, 2018, 02:05:13 AM »
If you're doing anything with VB6 these days, the VB6 Common Controls Replacement in it's very mature form is a must have.

It gives VB6 apps current theming and common controls for all versions of Windows from XP to Win10.
« Last Edit: July 21, 2018, 02:08:05 AM by John »

eoredson

  • Guest
Re: VB6 Common Controls Replacement
« Reply #5 on: August 03, 2018, 04:57:28 AM »
In my 4DPICT4/SPHERE9 projects I use several of the above .OCX controls and distribute them with my code.

Erik.

Offline John

  • Forum Support / SB Dev
  • Posts: 3597
    • ScriptBasic Open Source Project
Re: VB6 Common Controls Replacement
« Reply #6 on: August 03, 2018, 05:07:47 AM »
He has done an amazing job of keeping VB6 alive on current OSs.