Re: CommonControls (Replacement of the MS common controls)
@Krool ,how to add this code to your project?
insert link url or edit hyper link:
Code:
Const sFriendlyURL As String = "{\rtf1{\field{\*\fldinst{HYPERLINK ""URL""}}{\fldrslt{NAME}}}}" 'by fafalone
Function GetRtfCode(Optional ByVal FromSelectArea As Boolean) As String
'add Function By XiaoYao
Dim Buffer As String
Buffer = vbNullString
StreamStringOut Buffer, SF_RTF Or IIf(FromSelectArea, SFF_SELECTION, 0)
GetRtfCode = StrToVar(Buffer) 'TextRTF
End Function
Private Sub RichTextBox1_LinkEvent(ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long _
, ByVal LinkStart As Long, ByVal LinkEnd As Long)
args from:LinkStart ,LinkEnd
Code:
Public Sub SetRange(ByVal SStart As Long, ByVal SLen As Long)
'??????????????
Dim CR As CHARRANGE
CR.cpMin = SStart
CR.cpMax = SStart + SLen
SendMessage RichTextBoxHandle, EM_EXSETSEL, 0&, CR
End Sub
Sub EditLinkObj(ByVal txt As String, ByVal LinkUrl As String, ByVal LinkStartA As Long, ByVal LinkEndA As Long, Optional ByVal AddSTR As String = " ")
'add Function By XiaoYao
SetRange LinkStartA, LinkEndA - LinkStartA
If AddSTR <> "" Then txt = AddSTR & txt & AddSTR
AddLink txt, LinkUrl
End If
End Sub
Sub AddLink(txt As String, Url As String)
'add Function By XiaoYao
SelText = GetlinkRTF(txt, Url)
End Sub
Function GetlinkRTF(txt As String, sUrl As String) As String
If Len(sUrl) Then
GetlinkRTF = Replace(Replace(sFriendlyURL, "URL", sUrl), "NAME", txt) ' Create a hyperlink for the current selection using RTF syntax
End If
End Function
Re: CommonControls (Replacement of the MS common controls)
You can get the link url as following:
Code:
Private Sub RichTextBox1_LinkEvent(ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long, ByVal LinkStart As Long, ByVal LinkEnd As Long)
Const WM_LBUTTONDOWN As Long = &H201
If wMsg = WM_LBUTTONDOWN Then
Debug.Print RichTextBox1.GetTextRange(LinkStart, LinkEnd)
End If
End Sub
Re: CommonControls (Replacement of the MS common controls)
Originally Posted by Krool
You can get the link url as following:
Code:
Private Sub RichTextBox1_LinkEvent(ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long, ByVal LinkStart As Long, ByVal LinkEnd As Long)
Const WM_LBUTTONDOWN As Long = &H201
If wMsg = WM_LBUTTONDOWN Then
Debug.Print RichTextBox1.GetTextRange(LinkStart, LinkEnd)
End If
End Sub
WHY GetTextRange IS GET URL?
a=RichTextBox1.seltext it's for get text
a=RichTextBox1.GetTextRange(LinkStart, LinkEnd)
it's for get url
Re: CommonControls (Replacement of the MS common controls)
Hi Krool, thanks again for these controls. I want to replace my old button control with yours, but I'm running into a few issues. Please see attached image.
In the top example, the VBCCR18 button control does ok, but I much prefer the positioning of the icon and caption on the old control (i.e. less padding to the left of the icon, and padding between the icon and caption).
The middle example has WordWrap = True, with no icon. Again, ok, but a bit more padding left/right would make it wrap better.
The bottom example has both WordWrap = True and an icon. Here, the wordwrap doesn't account for the picture, and ends up pushing the icon off on the left and overflowing the caption on the right.
Please let me know if you believe this (at least the bottom example) is a bug and can be fixed. Thanks! -Dan
Last edited by hausman; May 1st, 2025 at 11:24 AM.
Re: CommonControls (Replacement of the MS common controls)
Originally Posted by hausman
Hi Krool, thanks again for these controls. I want to replace my old button control with yours, but I'm running into a few issues. Please see attached image.
In the top example, the VBCCR18 button control does ok, but I much prefer the positioning of the icon and caption on the old control (i.e. less padding to the left of the icon, and padding between the icon and caption).
The middle example has WordWrap = True, with no icon. Again, ok, but a bit more padding left/right would make it wrap better.
The bottom example has both WordWrap = True and an icon. Here, the wordwrap doesn't account for the picture, and ends up pushing the icon off on the left and overflowing the caption on the right.
Please let me know if you believe this (at least the bottom example) is a bug and can be fixed. Thanks! -Dan
the VBCCR button has several "modes". one is the graphical style button which replicates the VB6 native style button. (Style property = Graphical)
Alternativaly, use Style = Normal and set the "PictureAndCaption" property to True. This will be displayed then in a different way.
Third way is to use an ImageList. Then you can refine the location with the ImageListAlignment and ImageListMargin property.
Re: CommonControls (Replacement of the MS common controls)
Hello Krool!
The control property of "TextBoxW" is set to "AllowOnlyNumbers=True", and only integers can be entered.
You cannot enter decimals, or negative numbers.
Can the control property of "TextBoxW" be set to "AllowOnlyNumbers=True" to allow the entry of decimal or negative numbers, such as: "0.015" or "-100"
Re: CommonControls (Replacement of the MS common controls)
Originally Posted by smileyoufu
Hello Krool!
The control property of "TextBoxW" is set to "AllowOnlyNumbers=True", and only integers can be entered.
You cannot enter decimals, or negative numbers.
Can the control property of "TextBoxW" be set to "AllowOnlyNumbers=True" to allow the entry of decimal or negative numbers, such as: "0.015" or "-100"
Thank you very much!
In case this is not possible, there is an easy way to deal with this. Create a function that filters out all non-allowed keystrokes:
Code:
Function LimitTextInputToNumeric(KeyCode) As Interger
Const Numbers$ = "0123456789.,-"
'backspace = 8
If KeyCode<> 8 Then
If InStr(Numbers, Chr(KeyCode)) = 0 Then
LimitTextInputToNumeric = 0
Exit Function
End If
End If
LimitTextInputToNumeric = KeyCode
End Function
Then from the KeyPress event call the function with the key code:
Code:
Private Sub txtMyTextBox_KeyPress(KeyAscii As Integer)
KeyAscii = LimitTextInputToNumeric(KeyAscii)
End Sub
I als use functions for LimitToNumericNoNegative, LimitTextInputToZeroToNine, LimitTextInputToNumericNoDecimals so that I can fully control the input of each textbox where needed.
Re: CommonControls (Replacement of the MS common controls)
Hello Erwin69!
Thank you so much for your kind help.
The code you provided basically solved my problem.
However, if the user enters the wrong number (such as "0.0-5" or "0.05-"), it will still not be filtered.
On top of the code you provided, I've added a post-input, post-input digital compliance check verification. Solved this issue for me now.
Maybe you'll have a better approach and idea.
Thank you very much!
Code:
Private Sub txtMyTextBox_LostFocus()
If VBA.IsNumeric(Me.txtMyTextBox.Text) = False Then
Me.txtMyTextBox.SetFocus
MsgBox "Only numbers are allowed"
End If
End Sub
Re: CommonControls (Replacement of the MS common controls)
Originally Posted by smileyoufu
Hello Erwin69!
Thank you so much for your kind help.
The code you provided basically solved my problem.
However, if the user enters the wrong number (such as "0.0-5" or "0.05-"), it will still not be filtered.
On top of the code you provided, I've added a post-input, post-input digital compliance check verification. Solved this issue for me now.
Maybe you'll have a better approach and idea.
Thank you very much!
Code:
Private Sub txtMyTextBox_LostFocus()
If VBA.IsNumeric(Me.txtMyTextBox.Text) = False Then
Me.txtMyTextBox.SetFocus
MsgBox "Only numbers are allowed"
End If
End Sub
Well, I read the question as how to limit the input to 0-9 and other characters that can be used in doubles, like dot, comma and minus sign, not as making sure the user inputs a valid value. However, validating if the resulting input is a valid number can indeed be done in the LostFocus event.
While you could do it Mith suggested, I'd use a generic "IsNumeric" function like you did. That way your validation is handled in a way that all sorts of situations are covered, plus it takes into consideration Windows regional settings.
A self written function for the validation should also include if multiple decimal separators are being used. (E.g 78..6 or 1.2.3) Plus if your app is used in international environments you'd have to deal with all sorts of formatting that may be valid in one environment but not in the other. E.g. in most if not all countries in Europe the comma is used as a decimal separator, and the dot for digit groeping, so a number like 12.456,78 would be perfectly valid. Also in a negative number is displayed directly with a minus sign in front of the numbers, in front but separated by a space, directly at the end or at the end separated by a space. Have a look at the Windows regional setting for formatting numbers to get a feel for all variations.
Re: CommonControls (Replacement of the MS common controls)
Originally Posted by Krool
the VBCCR button has several "modes". one is the graphical style button which replicates the VB6 native style button. (Style property = Graphical)
Alternativaly, use Style = Normal and set the "PictureAndCaption" property to True. This will be displayed then in a different way.
Third way is to use an ImageList. Then you can refine the location with the ImageListAlignment and ImageListMargin property.
FYI, my original button is a different 3rd party button. I want to search / replace it with yours, but I can't without some tweaks.
Style Graphical vs Normal appears to just set the orientation of the picture to the caption, either horizontal or vertical. The bottom example is already Style = Normal (horizontal, as intended). It just doesn't calculate the positioning correctly and pushes the pic off to the left in this case. (If I stretch the button out, it starts to appear).
Finally, ImageList does lay out the pic & caption better, but precludes me from being able to search / replace the existing controls.
Only Column 2 shows, column 1 stays blank. Is it a bug or is it known as normal?
Thanks. That's again a strange one.
When inserting a column with a NULL pointer the column is screwed in some way.
The text in the next line is successfully stored but not displayed.
The fix would be to check if the StrPtr = 0 and then replace with a blank "". That way the column is not screwed and you later on can set to empty or a new text.
Re: CommonControls (Replacement of the MS common controls)
Originally Posted by Erwin69
Well, I read the question as how to limit the input to 0-9 and other characters that can be used in doubles, like dot, comma and minus sign, not as making sure the user inputs a valid value. However, validating if the resulting input is a valid number can indeed be done in the LostFocus event.
While you could do it Mith suggested, I'd use a generic "IsNumeric" function like you did. That way your validation is handled in a way that all sorts of situations are covered, plus it takes into consideration Windows regional settings.
A self written function for the validation should also include if multiple decimal separators are being used. (E.g 78..6 or 1.2.3) Plus if your app is used in international environments you'd have to deal with all sorts of formatting that may be valid in one environment but not in the other. E.g. in most if not all countries in Europe the comma is used as a decimal separator, and the dot for digit groeping, so a number like 12.456,78 would be perfectly valid. Also in a negative number is displayed directly with a minus sign in front of the numbers, in front but separated by a space, directly at the end or at the end separated by a space. Have a look at the Windows regional setting for formatting numbers to get a feel for all variations.
Hello Erwin69!
Thank you so much for helping me. Your guidance is very useful, and I will choose the right one reasonably.
Thanks again!
Re: CommonControls (Replacement of the MS common controls)
Hello.
For my MIDI audio device control project, I made a couple of small changes to the Slider control.
1. I added the new "ThumbSize" property to be able to resize the default Thumb so that it can be used more easily with the touch screen.
2. Using the existing "Reversed" property, I implemented the ability to reverse the direction of the slider value (both vertically and horizontally).
I marked my changes with the comment: 'VariazioneBG ====.
I hope I haven't made any serious mistakes. In my project it works perfectly.
I thought that perhaps these changes could be of interest to others as well.
Secondly, I ask if it wasn't possible and useful to add a property to the slider (e.g. TumbPicture) to be able to choose your own image to use instead of the default Thumb. I know that it is possible through the DrawMode property. But I'm not expert enough to do it myself.
In my opinion, it is a good addition that can enrich the value of the Slider control.
Thank you for your attention and valuable work.
Last edited by sagit62; May 16th, 2025 at 03:39 AM.
Re: CommonControls (Replacement of the MS common controls)
Update released.
DroppedDown property improved in the CommandButtonW control to raise the DropDown event when set to True.
Basically prior to this update the DroppedDown property was kind of useless because it just used BCM_SETDROPDOWNSTATE which does not raise BCN_DROPDOWN.
Now it raises the event properly and ensure the button is redrawn before and after the event. Also it checks for BST_DROPDOWNPUSHED to not allow recursive entry.
The property makes nothing when BS_SPLITBUTTON is not defined.
DroppedDown property improved in the CommandButtonW control to raise the DropDown event when set to True.
Basically prior to this update the DroppedDown property was kind of useless because it just used BCM_SETDROPDOWNSTATE which does not raise BCN_DROPDOWN.
Now it raises the event properly and ensure the button is redrawn before and after the event. Also it checks for BST_DROPDOWNPUSHED to not allow recursive entry.
The property makes nothing when BS_SPLITBUTTON is not defined.
There is still a bug when using the DropDown property:
Clicking fast on the DropDown arrow triggers the DropDown event AND the Click Event. A click with "normal speed" triggers only the DropDown event.
That is really annyoing if for example the Click Event opens a message box and the user only clicks on the DropDown arrow...
Can this be fixed? for example: IF DropDown arrow click THEN dont raise the Click Event
Removed BS_NOTIFY on CommandButtonW/OptionButtonW/CheckBoxW/CommandLink. (like native VB controls)
BN_DOUBLECLICKED therefore is not generated anymore, except for BS_RADIOBUTTON (OptionButtonW) even though BS_NOTIFY is not set.
But OptionButtonW has a DblClick event and therefore is wanted. (like native OptionButton)
A double click will then raise a Click event upon mouse up instead of immediately. (like native VB controls)
This resolves also a side-effect bug in the CommandButtonW control which raised a Click event when doing a double click on the split button part. (BN_DOUBLECLICKED)
Originally Posted by Mith
There is still a bug when using the DropDown property:
Clicking fast on the DropDown arrow triggers the DropDown event AND the Click Event. A click with "normal speed" triggers only the DropDown event.
That is really annyoing if for example the Click Event opens a message box and the user only clicks on the DropDown arrow...
Can this be fixed? for example: IF DropDown arrow click THEN dont raise the Click Event
It's a bug in the button control that a WM_LBUTTONDBLCLK on the split button part translates to a BN_DOUBLECLICKED notification.
As described above I didn't try to workaround this bug but rather circumvent it, by removing BS_NOTIFY which is also the correct way to do to match native VB controls.
I think it was kind of a relict from the early stages where I thought "can't harm to have more notifications" but did not grasp the side-effects.
Thanks for pointing this out to eliminate a deep bug!
Update released.
...
It's a bug in the button control that a WM_LBUTTONDBLCLK on the split button part translates to a BN_DOUBLECLICKED notification.
As described above I didn't try to workaround this bug but rather circumvent it, by removing BS_NOTIFY which is also the correct way to do to match native VB controls.
I think it was kind of a relict from the early stages where I thought "can't harm to have more notifications" but did not grasp the side-effects.
Re: CommonControls (Replacement of the MS common controls)
This is AWESOME. Time to get rid of the COMCTL32.OCX dependency!
got nuthin' to do but to make a new project, hype, then give up
Check out all my cool stuff btw
VB: EveryDiscord, a Discord client made fully in VB6 | MSPaint Modifier, a VB6-based MSPaint hooking engine, experimental | OpenIM, a fully VB6 instant messaging service based on TCP/IP connections | Kadooki (Overall the AltWWW project), the WWW re-imagined by me with continuations of HTML3.2's parts. | ClaFeed, A little feed algorithm I have been developing for a Twitter-style system. | CfmOS PC, my project CfmOS ported to VB6 in order to prototype faster, often lags on updates though!
Re: CommonControls (Replacement of the MS common controls)
Manifests didn't work in XP, CommonControl manifests are stricter there, Fixing manifest solves the issue, ResourceHacker template works.
got nuthin' to do but to make a new project, hype, then give up
Check out all my cool stuff btw
VB: EveryDiscord, a Discord client made fully in VB6 | MSPaint Modifier, a VB6-based MSPaint hooking engine, experimental | OpenIM, a fully VB6 instant messaging service based on TCP/IP connections | Kadooki (Overall the AltWWW project), the WWW re-imagined by me with continuations of HTML3.2's parts. | ClaFeed, A little feed algorithm I have been developing for a Twitter-style system. | CfmOS PC, my project CfmOS ported to VB6 in order to prototype faster, often lags on updates though!
Re: CommonControls (Replacement of the MS common controls)
Hello Krool!
Thank you so much for your great dedication. I've been using your controls for years.
Bug Reports:
An error occurs if the value of ImageCombo1.FindItem(100) is greater than 99 (3 digits or more in length). Normal within 2 digits.
Code:
Private Sub Form_Load()
Dim i As Long
For i = 99 To 110
ImageCombo1.ComboItems.Add , CStr(i), CStr(i)
Next
'OK
Debug.Print ImageCombo1.FindItem(99).Text
Debug.Print ImageCombo1.FindItem(99).Key
'Error
Debug.Print ImageCombo1.FindItem(100).Text
Debug.Print ImageCombo1.FindItem(100).Key
ImageCombo1.ComboItems.Clear
'OK
ImageCombo1.ComboItems.Add , "AB", "AB"
Debug.Print ImageCombo1.FindItem("AB").Text
''Error
ImageCombo1.ComboItems.Add , "ABC", "ABC"
Debug.Print ImageCombo1.FindItem("ABC").Key
End Sub
Private Sub ImageCombo1_Click()
MsgBox ImageCombo1.Text
End Sub
Last edited by smileyoufu; Jun 2nd, 2025 at 09:35 AM.
Re: CommonControls (Replacement of the MS common controls)
smileyoufu,
Thanks for reporting this. Update released.
It looks like some CB_ message are now suddenly not working properly anymore when sending directly to the inner combo handle. For example CB_GETLBTEXT stops after the 2nd char while CB_GETLBTEXTLEN returns the correct length.
I checked those messages and are now sent to the superclass window (ComboBoxEx) which handles the result correctly. They also work then on comctl version 5.8x and 6.0 [XP] even though the bug appears to happen only as of comctl version 6.1 [Vista+].
Re: CommonControls (Replacement of the MS common controls)
Originally Posted by Krool
smileyoufu,
Thanks for reporting this. Update released.
It looks like some CB_ message are now suddenly not working properly anymore when sending directly to the inner combo handle. For example CB_GETLBTEXT stops after the 2nd char while CB_GETLBTEXTLEN returns the correct length.
I checked those messages and are now sent to the superclass window (ComboBoxEx) which handles the result correctly. They also work then on comctl version 5.8x and 6.0 [XP] even though the bug appears to happen only as of comctl version 6.1 [Vista+].
Re: CommonControls (Replacement of the MS common controls)
Update released.
MultiSelect property does not enforce anymore possible selection change in the ListView control. (like MS ListView)
This means that when having 5 items selected and turning off the MultiSelect property then those 5 items stay selected instead of immediately reducing it to 1 item.
Re: CommonControls (Replacement of the MS common controls)
Hi, Krool!
Does your Font Common Dialog provide a way to change the sample text? The default "AaBbYyZz" is Ok but if a way to change it is already implemented it would be nice to have it exposed. If it's not implemented then never mind, it isn't important.
Re: CommonControls (Replacement of the MS common controls)
Originally Posted by jpfa
Hi, Krool!
Does your Font Common Dialog provide a way to change the sample text? The default "AaBbYyZz" is Ok but if a way to change it is already implemented it would be nice to have it exposed. If it's not implemented then never mind, it isn't important.
Re: CommonControls (Replacement of the MS common controls)
Hi Krol,
I have the follwoing problem when loading VBCCR controls at runtime
1. Show a standard Form
3. Then add a VBBCR17 control at runtime,
either an control array:
Code:
Load Labels(i)
Labels(i).Visible = True
or with
Code:
Dim NewLabel as LabelW
...
Set NewLabel = Me.controls.Add("LabelW", "NewLabel", Me
MyLabel.Visible = True
In the IDE this works fine, but on runtime error 13 (type mismatch) occurs.
This is related to my manifest. Without that manifest / res file it works fine
Re: CommonControls (Replacement of the MS common controls)
Hello Krool!
Thank you so much for helping me!
ListBoxW,Error reports:
In the IDE properties, if you manually set ListBoxW2.Height = 290, the Height result will change to 280.
Set ListBoxW2.Height = 260, and the Height result will change to 256.
The same problem exists with the way you use the drag and drop control.
Thanks again.
Re: CommonControls (Replacement of the MS common controls)
Originally Posted by smileyoufu
Hello Krool!
Thank you so much for helping me!
ListBoxW,Error reports:
In the IDE properties, if you manually set ListBoxW2.Height = 290, the Height result will change to 280.
Set ListBoxW2.Height = 260, and the Height result will change to 256.
IntegralHeight property
When this property is set to true, the control automatically resizes to ensure that an item is not partially displayed.
I am looking for a checkbox control that can be resized, not just the width/height of the overall control including the caption field but the check box itself.
When rescaling a form for large monitor sizes, the current VB6 checkboxes and optionboxes remain the same size tiny efforts, looking rather puny on an up-scaled form.
There seem to be very few 3rd party alternatives to the standard VB6/Windows checkbox so I am digging for a replacement that can do the job I require. Krool's checkbox seems to be a good place to start.
So, can the checkbox graphic be made to scale in size in ratio to the form itself?
This image shows the problem, see the tiny option and check boxes?
If you could take this as the first stage of a feature request to allow additional such resizing of the checkbox and option buttons, the only VB6 controls that do not rescale correctly in my experience.
FYI TwinBasic offers a scalable checkbox without a caption. We are almost there.
Your thoughts.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: CommonControls (Replacement of the MS common controls)
Is your app marked as DpiAware ? Normally the checkbox size is fixed (13×13) but will scale to your dpi factor.
So I am wondering why it doesn't in your app.
Re: CommonControls (Replacement of the MS common controls)
Yes, DPI aware. Desktop scaling is disabled. All forms appear at a normal 100%.
The scaling performed above is being performed in code to allow a form to be scaled dynamically by dragging the corner up or down to resize. All controls are anchored and during a resize event are sized by proportion to the scaling of the whole form.
This means you can scale a form independently of the desktop and have a form at any chosen size you require.
The following image shows very similar forms scaled to size manually using the above method.
The only control that does not size 'correctly' are the check and option buttons.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.
Re: CommonControls (Replacement of the MS common controls)
Originally Posted by yereverluvinuncleber
Yes, that is what I understand, not having done that before it is still a minor mystery to me.
First set the DrawMode property to OwnerDraw. Now you can draw your own control in the OwnerDraw event of the control:
Code:
Private Sub CheckBox_OwnerDraw(ByVal Action As Long, ByVal State As Long, ByVal hDC As Long, ByVal Left As Long, ByVal Top As Long, ByVal Right As Long, ByVal Bottom As Long)
End Sub
With the provided hDC and the control sizes you can use APIs to draw anything inside the the control.
Re: CommonControls (Replacement of the MS common controls)
Yup, I've been doing some research myself. I'm not going to proceed down this path as it is a workaround at best. What I am looking for is for the two controls, the option buttons and checkboxes to scale by default. Reason I am saying this is that it would be, in my opinion, a very useful default property to allow VB6 forms to be scaled dynamically without Windows desktop scaling being enabled.
The images above show all the controls successfully scaled except for these two failing controls.
We are now in the time of large 4K+ monitors that make VB6 apps look puny in size. A simple rescale of the form means that VB6 apps can now suit any size monitor without affecting desktop default scaling settings, that can have an adverse effect on other apps.
Skillset: VMS,DOS,Windows Sysadmin from 1985, fault-tolerance, VaxCluster, Alpha,Sparc. DCL,QB,VBDOS- VB6,.NET, PHP,NODE.JS, Graphic Design, Project Manager, CMS, Quad Electronics. classic cars & m'bikes. Artist in water & oils. Historian.
By the power invested in me, all the threads I start are battle free zones - no arguing about the benefits of VB6 over .NET here please. Happiness must reign.