|
Since you are developing Version 26, here is a real problem in 24.3 and 26 Beta (yes it still exists in Beta, I tested it):
If you run VB6 under a dpiAware-Manifest with the dpi-Setting set to true, then your process should run natively dpi aware.
On 100%, 150%, 200% everything works fine and the controls are well placed.
But if you go with 225% or 175% DPI setting in Windows, then many Codejock Suite controls are not well placed, until you hide them and show them again.
Before hide/unhide the sample looks like this:
Note, how many controls are not within right borders. After hide and unhide it looks like this, which is right:
The Line that is necessary in the vb6.exe.manifest to see this behaviour, is: <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware>
Test it with the SuiteControls sample under the path: C:\Program Files (x86)\Codejock Software\ActiveX\Xtreme SuitePro ActiveX v24.3.0\Samples\Controls\VB\SuiteControls
Just add the following lines to the example to get the proof how it updates some controls when you set visible first to false and then to true again:
Private Sub Form_Activate() On Error Resume Next Dim ctrl As VB.Control Dim oldTimer As Single 'Wait 5 seconds to see the before: oldTimer = Timer Me.Caption = "Go Ahead!" Do While Timer < oldTimer + 5 DoEvents Loop For Each ctrl In Me.Controls If TypeName(ctrl) <> "Menu" Then Me.Caption = "Now: " & ctrl.Name Debug.Print "Now: " & ctrl.Name If ctrl.Name = "mnuPopup" Then Stop ctrl.Visible = False ctrl.Visible = True DoEvents 'Uncomment, if you want to slow it down a bit: 'oldTimer = Timer 'Do While Timer < oldTimer + 0.1 ' DoEvents 'Loop End If Next End Sub
-----
If you want a complete manifest file that you drop to a text file at C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE.manifest, here the manifest that I used, then start VB6 again:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> xmlns="urn:schemas-microsoft-com:asm.v1" processorArchitecture="*" name="Microsoft.Windows.Common-Controls" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> <asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware> <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>
|