Looking for Windows Look and Feel input for a new app

Hi Windows gang,

I’m starting a new Windows-centric app and would like to be able to create an app that looks like a new windows app. In my rough-ups in Xojo, I’ve not found a way to get the window decorations and hints to come anything close to a native modern app. Even using a Plain Box as the parent window type still results in a small title bar.

Has anyone else focused on Windows as the ONLY target versus a cross-platform app and had success with the look and feel in Xojo?

I using Jim’s pidog dataview with good results.

A window with these settings will give me a plain box. (I’ve also set the app.menu to none).

Very odd - I was seeing a 6-pixel title bar before, restarted the IDE and now those same settings do give me a plain window that I can use to manipulate and manually create the look that I am after.

You can accomplish a lot with declares. In the sample below you can see how I use a modified window for the flyout menu.

Several thing I achieved here by using declares.

  1. Create a window that doesn’t ‘steel’ the focus from the parent window.
  2. Eliminate the outline of the plain box window.

project

[quote=343928:@Neil Burkholder]You can accomplish a lot with declares. In the sample below you can see how I use a modified window for the flyout menu.

Several thing I achieved here by using declares.

  1. Create a window that doesn’t ‘steel’ the focus from the parent window.
  2. Eliminate the outline of the plain box window.

project[/quote]
Very interesting, Neil.

I guess that my weakness here is that while I can hack disk and other hardware on a Windows system, I’ve never been tasked with the UI side of Windows before, so my knowledge of Windows UI API functionality is limited. Time to dig into the Windows UI design guides … and LOTS of strong coffee!

It is not always necessary to use declares to get the basics of new Windows design.
https://developer.microsoft.com/en-us/windows/apps/design

[quote=343971:@Michel Bujardet]It is not always necessary to use declares to get the basics of new Windows design.
https://developer.microsoft.com/en-us/windows/apps/design[/quote]
Very true IF I’m using Microsoft’s tools. UWP is not available in Xojo.

That is not the point. If you want your app to look like UWP, look at the guidelines. very little is about specific UWP programming. Most of it is about design. Which can be done in Xojo.

It is called DESIGN guidelines…

[quote=343991:@Michel Bujardet]That is not the point. If you want your app to look like UWP, look at the guidelines. very little is about specific UWP programming. Most of it is about design. Which can be done in Xojo.

It is called DESIGN guidelines…[/quote]
I understand all of that - the issue is that much of what they espouse cannot be done natively in Xojo as it currently exists.

Even just asking for a “Plain Window” so that I can draw my own decorations results in an unexpected 4px border that you can’t remove without resorting to declares.

For example, the Windows Mail app - without creating my own custom canvas based toolkit, there is no way in Xojo to get that look and feel. Something that many have requested going back to REALbasic is a ListBox with multiline cells and variable height rows (and yes, I know about Bjorn’s TableView).

I’m in restricted beta with an app where the bulk of the expected functionality is there, but the very 1st comment that I got back from all 20 testers was “This looks like an app made for Windows 98.” That’s what I’m trying to overcome.

About the plain box window, I have filed a bug report, and posted a declare workaround <https://xojo.com/issue/40171>

That declare can be used as basis for all those window styles you seem to want.

If you care to read the design guidelines, you will see that a lot has to do with using very simple canvas based controls, do away with popupmenus, combobox, and menus altogether in favor of listbox, and generally design apps like web sites.

The thing is, if you try to emulate current Windows apps, most of them come indeed from Windows 98. You really got to stick to the design guidelines instead. “Do what I say, not what I do”, is true also for Microsoft.

BTW, a mail app is always rather old fashion. That may not be the one you want to start with. OR emulate an iOS or Android app. These ones are usually much more innovative.

To truly succeed with the new apps, you really got to do away with old style controls.

[quote=343998:@Michel Bujardet]About the plain box window, I have filed a bug report, and posted a declare workaround <https://xojo.com/issue/40171>

To truly succeed with the new apps, you really got to do away with old style controls.[/quote]
Which simply echoes my comment about needing to:

If I’m going to do that …

Except, Microsoft’s Mail app is very MUCH a new Windows-style app. I’m not comparing to Thunderbird or Apple Mail.

That does not seem very difficult to emulate with a few canvases.

There’s that word again “Canvases.” My goal is to not need to write the entire GUI engine from scratch.

Either you buy components from third party suppliers, or, if they don’t exist, you create them yourself. That is how this industry works. Now, if you are allergic to the word “canvas”, either you stock on Benadryl, or change trade. I studied the potential market for a Windows Modern UI toolkit, and gave up when I realized most Xojo users did not even know it existed, and most of the few that knew disliked the aesthetics of the new apps.

Maybe you could use Jeremie Leroy’s custom controls. From what I see in the picture you posted, a number of them could be used.

None of the modern UI can be achieved without a measure of custom controls. And I doubt extremely much Xojo will implement anything like Windows Modern UI anytime soon.

So, your answer to my original query is - “No, Tim, I’ve not been able to accomplish what you are asking in native Xojo. You will need to use either third party APIs, become very familiar with the Windows UWP APIs and declares, build your own toolkit, or go to a more native Windows development platform.”

Being a chronic rhinitis and hay fever sufferer, Benadryl and far stronger concoctions are already in my medicine cabinet.

I’ve been able to create apps using other development platforms which offered native look and feel and not a single canvas in sight (aside from image display). I was just hoping that I could continue this project in Xojo since the functionality components are all in place.

This validates what I was already witnessing. I asked in the event that someone had already invented this wheel,

I did not say you had to go UWP. I said I believed you cannot get the Modern UI in Xojo without some measure of custom UI. Simply because Xojo does not do UWP.

Jeremie Leroy happens to have already worked in that direction.

I suggested years ago that Xojo look into the New API, but it seems pretty obvious today that won’t happen. So embracing Windows’ future will require other tools.

As much as I worked with the Desktop App Converter to get my Xojo apps in the Windows Store, it remains a contraption IMHO. In Microsoft development road map, the DAC is intended as a step on the way to full UWP. With VS, this is relatively simple, as accessing the UWP features from Desktop is a much more straightforward task than in Xojo. Unfortunately, Xojo is several steps backward, with Win32 instead of .Net, which makes it difficult or even impossible to access the DAC UWP compatibility library.

If indeed you are familiar with Microsoft native tools, you might as well go UWP all the way. It will be way more comfortable to get the full features of the Modern UI.

The Windows world is progressively going UWP. When the end of Windows 7 come to pass, so will classic desktop apps. And I am afraid so will Xojo Windows the misnomer as we know it now… unless Xojo Inc. decides to go UWP. Right now, Microsoft’s direction is “for Windows” means for UWP and “for Desktop” means classic desktop. Xojo right now is rightly Xojo for Desktop, not Xojo for Windows.

It is good that developers here are looking for the new “Windows UI”, not the “Desktop UI”.

Given how long Windows XP lived on, despite MS efforts to push it away, Windows 7 might last a looong time.
It still shows as vastly more popular than Windows 10 here (48% vs 3%)
https://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&qpcustomd=0