fbpx
Welcome, Guest
Username: Password: Remember me
Visual Objects

Please use this forum to post questions about Visual Objects and Vulcan.NET
  • Page:
  • 1

TOPIC: VO GUI windows

VO GUI windows 1 year 8 months ago #1

  • TrevorLE
  • TrevorLE's Avatar Topic Author
  • Offline
  • Posts: 70
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

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #2

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
XSharp Development Team
chris(at)xsharp.eu
Attachments:

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #3

  • TrevorLE
  • TrevorLE's Avatar Topic Author
  • Offline
  • Posts: 70
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:

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #4

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
XSharp Development Team
chris(at)xsharp.eu
Attachments:

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #5

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

K.
Attachments:

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #6

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
XSharp Development Team
chris(at)xsharp.eu

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #7

Chris,
removed the rc (BTW, would be nice, if one could "comment" it out in the ide), the look certainly changes, see screenshot.


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.
Attachments:

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #8

  • wriedmann
  • wriedmann's Avatar
  • Offline
  • Posts: 1423
  • Karma: 6
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
This email address is being protected from spambots. You need JavaScript enabled to view it.
www.riedmann.it - docs.xsharp.it

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #9

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
XSharp Development Team
chris(at)xsharp.eu

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #10

  • wriedmann
  • wriedmann's Avatar
  • Offline
  • Posts: 1423
  • Karma: 6
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:
<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):
<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
This email address is being protected from spambots. You need JavaScript enabled to view it.
www.riedmann.it - docs.xsharp.it

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #11

  • TrevorLE
  • TrevorLE's Avatar Topic Author
  • Offline
  • Posts: 70
Chris

I made a test app (in Vulcan) with a window containing a pushbutton and an SLE and placed the cctl6.man file in the app folder and added the manifest.rc file to the app - but the controls looked the same to me before and after adding the manifest.

I have attached my sample app so you can take a look if possible and let me know what I am missing?

thanks in advance
Trevor
Attachments:

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #12

Hi Trevor,

This project already contains the manifest resource (it's the file CREATEPROCESS_MANIFEST_RESOURCE_ID.rc), so no need to add the one I sent you. Normally that should be enough to do the job, but if it is not working for you, I can only think that there's something environmental getting in the way.

What OS are you using? Maybe you are using a system setting that prevents changing the application look? What about the test app in VO, how does it look when you start it from VO?

Chris
XSharp Development Team
chris(at)xsharp.eu

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #13

  • TrevorLE
  • TrevorLE's Avatar Topic Author
  • Offline
  • Posts: 70
Chris

thanks for the assist here - you have pointed me in the right direction as when I tried my sample program on my Win10 laptop - it had the different style buttons by default.

I then checked my Win7 PC and found I had windows classic theme selected and changing that back to Win7 standard now makes the buttons display with the different theme!

cheers
Trevor
Attachments:

Please Log in or Create an account to join the conversation.

VO GUI windows 1 year 8 months ago #14

Hi Trevor,

OK, glad to hear! Thanks for your feedback, this will be good to know for future reference.

Chris
XSharp Development Team
chris(at)xsharp.eu

Please Log in or Create an account to join the conversation.

  • Page:
  • 1