REAL beginner with XOJO here

I downloaded XOJO to evaluate it as a replacement environment. The compiler I currently use has been stagnant since the original developer passed away a few years ago. ’ Nuff said on that. I’m finding my way around for many of the things I need to do – database manipulation, etc., and am pretty impressed with Xojo. There’s a couple basic things I seem to be stuck on:

How can I make the header of a DesktopListview look like a header? At the very least using a different color. The on-line help says “use a graphic element”, but I got stuck after that.

I’ve found that having a windows 11 “dark mode” theme enabled causes unpredictable appearance on some of the UI elements, especially labels.

Click on the listbox and then click to make the Inspector available. On there is a toggle for HasHeader. Just below the Column Count etc.

Assuming you’ve used the Inspector to mark that the Listbox has a header, then you’d use the Listbox’s PaintHeaderBackground and PaintHeaderContent events to put stuff in there.

EDIT: you’d use methods of the Graphics class to do that, inside those event handlers.

Welcome to the Xojo community Bud.

I think you’ll find it’s pretty vibrant and there’s a lot of great people willing to help you out. (like Ian and Tim above)

Also… it’s pretty to miss the built in examples. They’re a great way to hands-on learn about Xojo.

You’ll find them in the “New Project” window (File → New Project)


it’s pretty easy to miss the built in examples.

I’m still a beginner since RealBasic 2013 and I don’t understand why so many things aren’t made easier. Xojo is often counterintuitive and unnecessarily confusing for beginners.

If you make this statement, then please flesh it out with an example. I tend to disagree with you. There are a number of beginner tutorials in the online documentation, various YouTube videos and blog posts (both direct from Xojo, and external).

There are several days of help videos, some are good, some are very lengthy. But all must be simultaneously translated into your own language. That’s really difficult. Xojo could be structured in such a way that these questions do not arise at all. Why can’t you find the examples? I myself did not immediately search for “new project”.
The menu control is very confusing, the debugger can do everything, but is uncomfortable. Debugging during runtime apparently impossible. Autocomplete often doesn’t work and a thousand other annoyances that have been known for years but are not eliminated.
Anyway, I love Xojo too!

Documentation is a sugar-ton of work. Making videos is easier but it’s harder to act on. And forget updating existing videos.

Well, with reference to the OP’s question, why can’t we have ListBox properties like Header.BackgroundColor, Header.TextColor, Header.Bold, Header.Height, Header.TextSize, Header.Font, etc? In a RAD environment you shouldn’t have to descend to painting basic essential UI functionality yourself in the graphics class.


Why would you need all these extra properties as part of the listbox when you have them all as part of the graphics class which you will be using to paint the headers?

1 Like

Because the whole idea behing a RAD tool is saving time and abstracting us from such things?


The thread starter left this discussion long ago.
He “got stuck” and had “unpredictable appearance”.
The reason is simple. Xojo is really impressive, but the little things are annoying:
the examples, which can be “missed” easy, only partially work correctly (Linux/Win) and are hardly documented or only raise new questions.
The IDE is often incomprehensible and confusing for a beginner.
For a simple line from A to B, a beginner needs to watch several hours of videos to understand the class.
There is too much help. Please take a look at the first three hours of Xojo introductory videos yourself, then you would also give up annoyed.
During this time you could do more useful things.
The videos are good, but they should be superfluous.
Xojo is NOT self-explanatory for beginners as the new user numbers prove.
Unfortunately, much could be made easier, but this has been ignored for years.
It’s a shame as I love Xojo!

This is exactly the right attitude to discourage further beginners (the TS has left).

It is not a valid statement.

having that is a value vs all other IDEs…
(above is how things have to be done / think…)

… or people will take an IDE on random choice (What is I take this one with a nice name ?):grinning:

About the videos:
this is only part one of the job. Part 2 is missing:

Part 2 is the document that details what’s in the video, step by step, with the project(s)…

Hawing subtitles for non english mother language people is nice, but really boring (after some minutes).
To English primary language people: are you watching movies with subtitles at your local cinemas (or on TV/video) ? No. Think…


Can you (anyone) explain why must I

Insert a Row

Actual Xojo Code

Of course, .Insert() is intuitive !

This is a simple example.

Bingo, Julia! That’s why I replaced all my Xojo listboxes with DataView controls (piDog Software/Jim McKay). It has all the properties you list and a whole bunch more. Haven’t found a need I have that isn’t sufficed by DataView (or added by Jim upon my request) since. And the icing on the cake is when I do have a feature that I need that’s not provided as standard, I contact Jim and more often than not get what I need rather quickly … a great example would be when I asked him if the vertical scroll bar could be made programmable as to whether it appeared on the right-side or left-side margin of the listbox. I’m sure he can’t do this kind of “feature add” on a large scale basis, but he sure tries to please individuals where and when he can! The functionality of DataView has literally saved the day for me a number of times with things my customer demanded but were not within the innate capabilities of the Xojo standard listbox.

I purchased DataView and PiDog ListBox a few years ago. I love its feature set and it worked great for MacOS but I could never get it to work well for Windows apps with many columns - horizontal scrolling was awful, with headings lagging or leading the rest of the cells in updating. My app is enormous and it would have been a lot of work to pare it down to a simple example so I just gave up and went back to the Xojo listbox. Maybe it’s been improved in the interim, but it’s not a drop-in replacement and a lot of code has to be changed to make it work; I haven’t had time to try again.