What button styles do you use most often?

Xojo supports two “major” button styles…

  • Pushbutton (where Cancel/Default/Generic are all the same basic object)
  • Bevel Button (with text and/or icons)

Pushbuttons have 10 “Styles”

  • Push
  • Gradient
  • Rounded - seems to look/act identical to “Push”
  • Recessed - darker flat style
  • Textured
  • Round Textured
  • Square
  • Bevel
  • Round
  • Help - a “Round” with default “?” caption

Gradient (which really has no “gradient”), Textured and Bevel are “almost” identical (just off by slight shading), although if “default” is set each is more “different”

In all my years I have only ever used “PUSH” or “HELP” styles, never any of the 8 others

Bevel Buttons has 8 “styles”

  • Small
  • Normal
  • Large
  • Rounded
  • None
  • Round
  • Large Round - same as Bevel Round and Pushbutton Round
  • Disclosure (not the “plain” arrow)

On macOS, Small, Normal, Large and None are all identical, Large Round and Round are the same (one is not larger than the other) and are the same as Pushbutton round.
Rounded seems to be the same as Pushbutton Gradient, except it “can” have icons,

Now these observations are based on macOS, and Windows/Linux might present differently

Only useful ones seem to be


  • Push
  • Recessed - darker flat style
  • Help - a “Round” with default “?” caption

Bevel Buttons

  • Small
  • Disclosure (not the “plain” arrow)

I use plain PushButton. BevelButtons instantly make an application look like a port of an old classic app. Anything else I need is almost always custom.

Push buttons predominantly. I have tried for years to get Bevel buttons to do what I want but they are very frustrating. Where a Push button doesn’t help, I use a Canvas with alternating images.

Canvas with images color inversion code and standard PushButtons.

And if you go ‘Dark Mode’, it initially looks like only Push buttons work… :frowning:

I am actually asking myself how log I will continue to use a computer, so really using Mojave is pending. I do not know.

But, yes, that may look like that.

Now if someone complains, I will say “Don’t use gadgets !” :wink:

i think i only use bevelbutton for those with image… like calendar or color picker or client/contact picker… but then i also load the image from code…

do you think it is better to use canvas for these instead???

I had troubles with BevelButtons and I clear them and use Canvas.

Try to replace one BevelButton with one Canvas and decide later what fit best for you.

I recently came across “Apple Developer/Human Interface Guidelines/Bevel Buttons” seen here:


Quoted from there:

I think I should review my projects for that.

Large rounded bevel buttons.

Preferably with Comic Sans (all in CAPS) for the font :slight_smile:

Mostly I use just the standard PushButton. If I feel I need something more, then I’ll roll my own using a canvas.

However, I still like this “old school” approach when entering the button area:

If Me.Enabled = True Then Me.MouseCursor = System.Cursors.FingerPointer Else Me.MouseCursor = System.Cursors.StandardPointer End If
I’m sure that that usage is frowned upon these days, but I still like it.

PushButtons. When image is needed, either PushButtons-with-Image (MacOsLib) or single segmented control.

Thanks, I need to check that.