BevelButton Bevel Style None

When Bevel Style is set to None for BevelButton, it properly hides the button border on Windows. On macOS, the border is still visible. Is this just a bug or is there some reason that Mac cannot hide the button outline?

Is there any combination of property options for BevelButton that can hide the border on Mac?

Use a canvas instead.

While it might be technical possible to implement all the properties, method, events, etc of BevelButton starting from a Canvas, fixing that BevelButton bug in Xojo would be a much better solution. I’m hoping someone has a simple fix I can apply to all the BevelButtons I already use.

According to the documentation:
https://documentation.xojo.com/api/user_interface/desktop/desktopbevelbutton.html

None is only available on Windows.
image

I don’t think is a bug just a design or OS limitation.

Edit: from what I understand, Xojo tries to use native controls, maybe that is the problem?

1 Like

There is an open source canvas based BevelButton drop in replacement control which might solve your problem. If the replacement mimics the framework and doesn’t support None on Mac then you can edit the source yourself to allow it.

3 Likes

It might be possible to hack into the bevel button via declares and set the macOS button to hide its border, providing the bevel button class uses a native macOS button and doesn’t just draw a bevel button. [update: I was unable to hack it with declares]

Looking at the class specification, its not based on the native macOS button, however that doesn’t mean that it doesn’t dynamically create one at run time and attach it atop itself. but to figure that out will take more sleuthing. [update: it doesn’t appear to dynamically add a macOS button, so I assume it must be drawing it]

I would suggest filling an issue with Xojo if you’d like to see this implemented in a future version as it’s more than possible.

In the meantime, I’d recommend using something else if that’s what you really want.

1 Like

This is why I stopped using it…

I use a Canvas instead (and I do not add a border).

1 Like

I use a canvas for all my buttons - and they all have borders. Leavig the border off is very poor UI.

Come on. Are you going to hold your breath until Xojo comes up with a fix ?

As for making a canvas into a borderless button, it takes no more than returning true in MouseDown, and placing the code that would go in Pressed in MouseUp.

Color the background in Paint, or use Backdrop for the icon.

Pretty simple, really.

1 Like

Your opinion worth mine.

…and look atthis page top-left: the Xojo logo does not have borders…:joy:

:ukraine:

Not really a button, is it. Just a logo that does something if you discover - accidentally - that you can click on it.

1 Like

You can also click on the Subject line…

In some of my apps buttons look simply like a colored rectangle with some text. Users instinctively see that as buttons.

As for the Xojo logo, like many objects in web design, they are recognizable as clickable with the pointing hand. I don’t think this would be good design for desktop.

1 Like

I’d argue it’s not good design for web either. Be it this forum or Issue (or some other examples), there are locations I don’t yet know they are actually buttons that can be clicked on.
Is it worth putting buttons somewhere if we can’t know they are buttons unless discovering by accident? Looks absurd to me.

1 Like

Contrary to desktop, web design is often the result of cute rather than functional.

There are several schools of web design, but overall, discovery is not always evident. To make that worse, there are now web designers who pretend to part from “ancient” design, and as result, experiment with rather outlandish layouts.

I think you’ve pointed out why I just hate web apps (I didn’t had words for my feelings).
Thanks.

And then you have some other coloured rectangles that do nothing when you click them. I really get fed up with dealing with apps/websites like that.

There’s one site I go to where there’s lots of headings listed as words in large text next to each other. The section one is actually at has its word in dark blue text, and the other available section headings are greyed out. Something greyed out is expected to be not-available, but in this case all the greyed out words may be clicked on to go to the other sections. This site also has coloured rectangles with text, some of which do stuff when you click them and others don’t. You wouldn’t know just by looking.

1 Like

What you describe is a poorly designed web site.

Unfortunately, there are quantities of web designers who have but a few hours of training, and absolutely no sense of user interface. So they do stupid things.

I have been designing web sites since 1996, and honestly when I look at what I did then on archive.org, I am not proud. It takes years to learn how to design user friendly, clean web sites. Plus some training in layout and graphics.

Unfortunately, far too many “web designers” are simply intern level HTML coders, or barely competent PHP trained people.

I agree that there has been some poorly designed websites in the past BUT the new generation with all the tools at their disposal have a better advantage of making current UI then others of the past. A person of “Introduction to HTML/CSS/JavaScript” can use tools of today to create the UI of tomorrow.

There are times that coming from a past of engineering of mainframes comes into play but this realm is not one of them.

Actually any “old time developer” can learn from what “new” developers want in a current UI

I like hearing from and learning from the entrance level designers because it keeps me on my toes

I was not talking about current competent web designers. Unfortunately, far too many people pretend to be competent when in fact their training is poor or non existent.

A good UI is not about thingies and bells and whistles. It is about making sure design suits the needs of the user.

I like this :smiley: 10 Principles of Good UI Design

1 Like