VO GUI windows

Public support forum for peer to peer support with related to the Visual Objects and Vulcan.NET products
TrevorLE
Posts: 266
Joined: Thu Apr 21, 2016 12:02 pm

VO GUI windows

Post by TrevorLE »

Hi there guys

We have a lot of VO GUI windows in our apps and which have the old style square sharp edge button and control styles. Any new windows we do in winforms, but we have 1000+ of the old windows so as you can imagine not something we can easily convert. We are going through windows gradually and re-coding them when we can, but I am looking at ways to make the existing windows look more modern without having to re-code them in winforms if at all possible as a medium term solution.

I recall there was a setup with a manifest file at one stage that could give the windows nicer XP style buttons which we never did and I am not sure if this still applies and would work in Vulcan / X#.

I am wondering if we have any options here to make the window controls look more modern?

any suggestions will be appreciated.

thanks in advance
Trevor
User avatar
Chris
Posts: 4562
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

VO GUI windows

Post by Chris »

Hi Trevor!

Please unzip and put the attached .rc file in your project's folder, also copy in the same place the cctl6.man file from VO (it should be in the Appwiz fodler).

Next, from the context menu on the project item in the Solution Explorer select Add Existing and pick the manifest.rc file.

Build & run, now the manifest should be in effect. Is this what you were looking for?

Chris
Attachments
manifest.zip
(202 Bytes) Downloaded 21 times
Chris Pyrgas

XSharp Development Team test
chris(at)xsharp.eu
TrevorLE
Posts: 266
Joined: Thu Apr 21, 2016 12:02 pm

VO GUI windows

Post by TrevorLE »

Chris

Thanks for that - I have added the manifest.rc to my project and placed the cctl6.man file in the root folder of my solution. It re-compiled fine, but I don't notice any difference to my buttons.

I have attached a sample screen shot from the running app with a small window with standard pushbuttons. I was hoping to get a more modern, softer looking button in this case.

Is there something I am missing here?

thanks for the assist!
cheers
Trevor
Attachments
example.jpg
example.jpg (19.38 KiB) Viewed 291 times
User avatar
Chris
Posts: 4562
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

VO GUI windows

Post by Chris »

Hi Trevor,

Hmm, that's strange, no of course it shouldn't look like that. Can you please test with the attached small app I prepared? I just created a simple mdi app in VO showing a datawindow, ported it to x# and added the manifest, it now looks ok on my machine. Does this show better in your machine that the screenshot you posted? If it does, then maybe something went wrong when adding the manifest to your project, could you send it to have a look? If this still doesn't look any better, then the problem lies elsewhere and we need to investigate, maybe some environmental option.

Chris
Attachments
TestXPStyles.zip
(233.3 KiB) Downloaded 22 times
Chris Pyrgas

XSharp Development Team test
chris(at)xsharp.eu
FFF
Posts: 1521
Joined: Fri Sep 25, 2015 4:52 pm
Location: Germany

VO GUI windows

Post by FFF »

Chris,
attached the view on my 8.1/64 machine, identical called from Xide as from VS. Is that as it should be?
View.PNG
View.PNG (9.48 KiB) Viewed 291 times
Never bothered with these "style" questions, so i grab the opportunity ;)

K.
Regards
Karl
(on Win8.1/64, Xide32 2.19, X#2.19.0.2.)
User avatar
Chris
Posts: 4562
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

VO GUI windows

Post by Chris »

Hi Karl,

Hard to tell. The way MS changes the UI makes it difficult to tell which is a new and which is a very old version :-)
Try to remove the manifest, how does it look now?

Chris
Chris Pyrgas

XSharp Development Team test
chris(at)xsharp.eu
FFF
Posts: 1521
Joined: Fri Sep 25, 2015 4:52 pm
Location: Germany

VO GUI windows

Post by FFF »

Chris,
removed the rc (BTW, would be nice, if one could "comment" it out in the ide), the look certainly changes, see screenshot.
View_without_Manifest.PNG
View_without_Manifest.PNG (10.05 KiB) Viewed 291 times
But i think, Trevor was after that "button with rounded edges" look MS had had once, can't remember when ;).
FWIW, the "with manifest" looks for me like W95 forms did... And what a bunch of code got produced to get these nice "3-D"-look - only to dump it now again ;(

K.
Regards
Karl
(on Win8.1/64, Xide32 2.19, X#2.19.0.2.)
User avatar
wriedmann
Posts: 3644
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

VO GUI windows

Post by wriedmann »

Hi Karl,

the manifest defines what version of the common controls are to be used - v4 vs v6. And so they define the basic look.
If you compare the both versions of the application under different versions of the operating system (AFAIK the major difference is in Windows 7), with different settings, they are very different.
With the right settings and the manifest, the pushbuttons in Windows 7 show mouse-over effects, whereas without manifest there is no mouse-over effect. And with the manifest you had the rounded windows corners, and windows with shadows.

Windows 8.x and Windows 10 AFAIK don't have this big difference because Microsoft has returned to a flat look to save computer ressources. But the aspect of the entire application changes, and there are some other differences. A combobox with the manifest opens larger than designed when the contents are longer, but with manifest this box opens only as designed.

So IMHO the manifest is an absolute must, but even with it the look is less modern that with WinForms (so I expect a big step forward when moving to X# and a mixed GUI, maybe with Roberts WinForms based GUI classes).

Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
Chris
Posts: 4562
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

VO GUI windows

Post by Chris »

Hi Karl,

I know, every time I happen to open my WinXP virtual machines, I remember how nice looking were the buttons, windows etc in it and shiver when comparing it to what we have today..

Btw, I think it should be possible with putting different settings in the .man file to produce different looking results. But I don't have much experience in this area, maybe someone else can step in?

Chris
Chris Pyrgas

XSharp Development Team test
chris(at)xsharp.eu
User avatar
wriedmann
Posts: 3644
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

VO GUI windows

Post by wriedmann »

Hi Chris,
I think it should be possible with putting different settings in the .man file to produce different looking results.
AFAIK this is the only setting:

Code: Select all

<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="X86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
that influences the application look. The manifest file is important for other things too, like to demonstrate to compatibility to newer operating systems (otherwise your application will think to be used with Windows 8 even when used in Windows 10):

Code: Select all

<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
    <application> 
        <!-- Windows 10 --> 
        <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
        <!-- Windows 8.1 -->
        <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
        <!-- Windows Vista -->
        <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> 
        <!-- Windows 7 -->
        <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
        <!-- Windows 8 -->
        <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
    </application> 
</compatibility>
Other options would include the side-by-side use of COM components, or the requirement of elevated rights.

Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Post Reply