# GUI - Which controls are these?

**URL:** <https://forum.xojo.com/t/gui-which-controls-are-these/47157>\
**Category:** Getting Started\
**Created:** [January 29, 2019, 3:36am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157 "2019-01-29T03:36:49Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rob\_Hallock](https://forum.xojo.com/user_avatar/forum.xojo.com/rob_hallock/32/734_2.png) [@Rob\_Hallock](https://forum.xojo.com/u/Rob_Hallock)\
**Post date:** [January 29, 2019, 3:36am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/1 "2019-01-29T03:36:49Z")

</div>

Hi Everyone, I’m new to XoJo. I’m an experienced VB programmer. I’m finding the language pretty easy but I find the controls limited. I’ve seen the forums that say you can make your own controls and I’ve come across places like MBS, Jeremie Leroy, Eighur and SimCar Software so I can see that there’s some decent options out there.

I’ve also been looking around for the nicest looking XoJo apps I can find - mainly to see what’s possible with GUI development in XoJo.

I came across SQLiteManager & CubeSQL - both XoJo apps and they look really nice.

I particularly like the “bottom toolbar” and the nice window splitter with selection handles shown in the screen shots.

Does anyone know which 3rd party controls this app might have used or if they did it with XoJo natively?

[https://www.dropbox.com/s/c09azggb3vb8j0x/one.png?dl=0](https://www.dropbox.com/s/c09azggb3vb8j0x/one.png?dl=0)  
[https://www.dropbox.com/s/6923y8k5ifw8ks7/two.png?dl=0](https://www.dropbox.com/s/6923y8k5ifw8ks7/two.png?dl=0)  
[https://www.dropbox.com/s/m1xej8ev2y0r73y/threee.png?dl=0](https://www.dropbox.com/s/m1xej8ev2y0r73y/threee.png?dl=0)

Thanks for any advice…

Rob

---

<div class="post-metadata">

**Author:** ![scott\_boss](https://forum.xojo.com/letter_avatar_proxy/v4/letter/s/c5a1d2/32.png) [@scott\_boss](https://forum.xojo.com/u/scott_boss)\
**Post date:** [January 29, 2019, 5:22am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/2 "2019-01-29T05:22:53Z")

</div>

> [@422774:@Rob Hallock](#):
>
> [Dropbox - File Deleted - Simplify your life](https://www.dropbox.com/s/c09azggb3vb8j0x/one.png?dl=0)

listbox with custom painting of the text.

> [@422774:@Rob Hallock](#):
>
> [Dropbox - File Deleted - Simplify your life](https://www.dropbox.com/s/m1xej8ev2y0r73y/threee.png?dl=0)

listbox (again) with custom painting.

---

<div class="post-metadata">

**Author:** ![Oliver\_Osswald](https://forum.xojo.com/user_avatar/forum.xojo.com/oliver_osswald/32/6972_2.png) [@Oliver\_Osswald](https://forum.xojo.com/u/Oliver_Osswald)\
**Post date:** [January 29, 2019, 5:42am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/3 "2019-01-29T05:42:12Z")

</div>

The handle on the window splitter can be a canvas where you draw three lines in its paint event handler.

Or it is the Einhugur window splitter plugin, where you can define such handle.

---

<div class="post-metadata">

**Author:** ![Ivan\_Tellez](https://forum.xojo.com/letter_avatar_proxy/v4/letter/i/a9a28c/32.png) [@Ivan\_Tellez](https://forum.xojo.com/u/Ivan_Tellez)\
**Post date:** [January 29, 2019, 5:51am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/5 "2019-01-29T05:51:38Z")

</div>

> [@422774:@Rob Hallock](#):
>
> [Dropbox - File Deleted - Simplify your life](https://www.dropbox.com/s/6923y8k5ifw8ks7/two.png?dl=0)

All of them are Custom controls based on a Canvas

---

<div class="post-metadata">

**Author:** ![Paul\_Lefebvre](https://forum.xojo.com/user_avatar/forum.xojo.com/paul_lefebvre/32/3152_2.png) [@Paul\_Lefebvre](https://forum.xojo.com/u/Paul_Lefebvre)\
**Post date:** [January 29, 2019, 1:37pm UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/6 "2019-01-29T13:37:27Z")

</div>

You can do a lot with a customized ListBox. Several examples are described here:

[https://documentation.xojo.com/topics/user\_interface/desktop/desktop\_controls/list\_box.html](https://documentation.xojo.com/topics/user_interface/desktop/desktop_controls/list_box.html)

The bottom toolbar thing is often called an ActionBar. I believe GraffitiSuite includes one:

> **[Desktop Edition](https://graffitisuite.com/features/desktop-edition/)**
>
> Download the Demo Accordion Read More ActionBar Read More Animator Read More Button Read More Calendar Read More Card Read More Chart Read More ColorPicker Read More CommandBar Read More Colors Rea…

---

<div class="post-metadata">

**Author:** ![Gavin\_Smith](https://forum.xojo.com/user_avatar/forum.xojo.com/gavin_smith/32/13901_2.png) [@Gavin\_Smith](https://forum.xojo.com/u/Gavin_Smith)\
**Post date:** [January 29, 2019, 2:48pm UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/7 "2019-01-29T14:48:57Z")

</div>

ListBox is a really versatile control and most Xojo devs use it extensively.

Server Ranger 2 uses it on the left hand side, for the list of servers it is monitoring, as well as for the logs on the right hand side. It’s also Dark Mode compatible.

![](https://www.dropbox.com/s/5tmlczgag0swb25/serverranger_darkmode.png?raw=1)

There are more screenshots at [https://www.serverranger.com](https://www.serverranger.com) for it and for File Toolkit, another app that uses Listboxes. I hope they give you some ideas of what can be done with the built-in Xojo ListBox.

---

<div class="post-metadata">

**Author:** ![RomanV](https://forum.xojo.com/letter_avatar_proxy/v4/letter/r/3ab097/32.png) [@RomanV](https://forum.xojo.com/u/RomanV)\
**Post date:** [January 29, 2019, 9:01pm UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/8 "2019-01-29T21:01:51Z")

</div>

@Gavin Smith Hey Gavin. All the left pane is one ordinary listbox? If then, how do you get to draw some rows with different height than others ?

---

<div class="post-metadata">

**Author:** ![Gavin\_Smith](https://forum.xojo.com/user_avatar/forum.xojo.com/gavin_smith/32/13901_2.png) [@Gavin\_Smith](https://forum.xojo.com/u/Gavin_Smith)\
**Post date:** [January 30, 2019, 1:36am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/9 "2019-01-30T01:36:38Z")

</div>

> [@422897:@Roman Varas](#):
>
> @Gavin Smith Hey Gavin. All the left pane is one ordinary listbox? If then, how do you get to draw some rows with different height than others ?

Just an ordinary ListBox. Theyre all the same height. Each row has a dark header and a light body.

For example, offline servers are drawn with a dark red header containing server name and address, and below that is drawn a light red body with status info. Together, they make up one row.

---

<div class="post-metadata">

**Author:** ![RomanV](https://forum.xojo.com/letter_avatar_proxy/v4/letter/r/3ab097/32.png) [@RomanV](https://forum.xojo.com/u/RomanV)\
**Post date:** [January 30, 2019, 2:15am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/10 "2019-01-30T02:15:21Z")

</div>

ah… so you are doing all the drawing in the cell text/background paint by yourself… right ?

---

<div class="post-metadata">

**Author:** ![Beatrix\_Willius](https://forum.xojo.com/user_avatar/forum.xojo.com/beatrix_willius/32/282_2.png) [@Beatrix\_Willius](https://forum.xojo.com/u/Beatrix_Willius)\
**Post date:** [January 30, 2019, 7:06am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/11 "2019-01-30T07:06:40Z")

</div>

@Roman Varas : mostly yes.

---

<div class="post-metadata">

**Author:** ![Jeff\_Tullin](https://forum.xojo.com/user_avatar/forum.xojo.com/jeff_tullin/32/693_2.png) [@Jeff\_Tullin](https://forum.xojo.com/u/Jeff_Tullin)\
**Post date:** [January 30, 2019, 7:27am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/12 "2019-01-30T07:27:33Z")

</div>

> [@](#):
>
> ah… so you are doing all the drawing in the cell text/background paint by yourself… right ?

Remember that this is visual ‘trickery’  
When done this way, the text is not selectable and copiable in the way you might expect a ‘normal’ listbox to behave.  
You can consider what you are seeing to be a series of ‘images’ which are scrollable and selectable.

---

<div class="post-metadata">

**Author:** ![David\_Cox](https://forum.xojo.com/user_avatar/forum.xojo.com/david_cox/32/227_2.png) [@David\_Cox](https://forum.xojo.com/u/David_Cox)\
**Post date:** [January 30, 2019, 9:52am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/13 "2019-01-30T09:52:56Z")

</div>

> [@422954:@Jeff Tullin](#):
>
> When done this way, the text is not selectable and copiable

Is there a technique to make it selectable  I need to create a chat list and want users to be able to select the text? Would you use a canvas with an array of variable-height containers (with text/graphics) floating on it  this is my current idea?

---

<div class="post-metadata">

**Author:** ![Jeff\_Tullin](https://forum.xojo.com/user_avatar/forum.xojo.com/jeff_tullin/32/693_2.png) [@Jeff\_Tullin](https://forum.xojo.com/u/Jeff_Tullin)\
**Post date:** [January 30, 2019, 10:20am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/14 "2019-01-30T10:20:03Z")

</div>

Possibly you could make the default height larger.  
Use normal text  
Draw something during the cellbackgroundpaint which is colorful and not selectable, but still allow normal text above it.  
It would be one line only though.

You might look into this:  
[http://www.katkosoft.com/Mergeable%20Listbox%20Page/MergeableCellListbox.html](http://www.katkosoft.com/Mergeable%20Listbox%20Page/MergeableCellListbox.html)

Some work has been done by forum members on ‘merged cells’

Yes, you could create a container control with an array of textedit fields which scroll up and down based on a scrollbar

---

<div class="post-metadata">

**Author:** ![Emile\_Schwarz](https://forum.xojo.com/letter_avatar_proxy/v4/letter/e/90ced4/32.png) [@Emile\_Schwarz](https://forum.xojo.com/u/Emile_Schwarz)\
**Post date:** [January 30, 2019, 11:47am UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/15 "2019-01-30T11:47:33Z")

</div>

Or, if your CellTag is unused, you may store the text there and at select time copy it in the Clipboard (an idea to fine tune with code, eventually).

The problem with Listbox (and some other things) is nowhere this is (was ?) explained in the documentation: once someone says it is possible to insert a column in code while running the application, I searched and found. Prior that, I do not even had the idea that it is possible ☹

---

<div class="post-metadata">

**Author:** ![Douglas\_Handy](https://forum.xojo.com/letter_avatar_proxy/v4/letter/d/d2c977/32.png) [@Douglas\_Handy](https://forum.xojo.com/u/Douglas_Handy)\
**Post date:** [January 30, 2019, 3:22pm UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/16 "2019-01-30T15:22:33Z")

</div>

> [@422966:@David Cox](#):
>
> Is there a technique to make it selectable  I need to create a chat list and want users to be able to select the text? Would you use a canvas with an array of variable-height containers (with text/graphics) floating on it  this is my current idea?

If you are open to considering a third party replacement for the Listbox, consider piDog’s [DataView](https://www.pidog.com/wp/dataview/). It is built from the ground up (not subclassed from Listbox) so can support variable row height, row and column spans, and tons of other stuff out of the box. But as noted in [this](https://forum.xojo.com/52089-look-feel-pidog-dataview-vs-xojo-listbox) thread, the look and feel out of the box is slightly different. For a chat, you already don’t want a standard listbox look. Plus DataView is EXTREMELY customizable, offering events including paint events that don’t exist in a standard Listbox.

Just trying to save you from designing yourself on a canvas, if you are open to third party solutions.

---

<div class="post-metadata">

**Author:** ![Tim\_Jones](https://forum.xojo.com/user_avatar/forum.xojo.com/tim_jones/32/8627_2.png) [@Tim\_Jones](https://forum.xojo.com/u/Tim_Jones)\
**Post date:** [January 30, 2019, 3:43pm UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/17 "2019-01-30T15:43:42Z")

</div>

Of course, Paul’s [Good Guy Listbox video](https://youtu.be/1o39SA5sA8o) is a great introduction

---

<div class="post-metadata">

**Author:** ![Rob\_Hallock](https://forum.xojo.com/user_avatar/forum.xojo.com/rob_hallock/32/734_2.png) [@Rob\_Hallock](https://forum.xojo.com/u/Rob_Hallock)\
**Post date:** [January 30, 2019, 10:59pm UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/18 "2019-01-30T22:59:03Z")

</div>

[quote=422823:@Paul Lefebvre]You can do a lot with a customized ListBox. Several examples are described here:

[https://documentation.xojo.com/topics/user\_interface/desktop/desktop\_controls/list\_box.html](https://documentation.xojo.com/topics/user_interface/desktop/desktop_controls/list_box.html)

The bottom toolbar thing is often called an ActionBar. I believe GraffitiSuite includes one:

[https://graffitisuite.com/features/desktop-edition/[/quote]](https://graffitisuite.com/features/desktop-edition/%5B/quote%5D)

I’m just starting to realize this. Thanks.  
It’s funny, I just came across ServerRanger today. It’s a nice looking product. I had no idea ListBox was so versatile.

---

<div class="post-metadata">

**Author:** ![Robert\_Litchfield1](https://forum.xojo.com/letter_avatar_proxy/v4/letter/r/8dc957/32.png) [@Robert\_Litchfield1](https://forum.xojo.com/u/Robert_Litchfield1)\
**Post date:** [January 30, 2019, 11:19pm UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/19 "2019-01-30T23:19:09Z")

</div>

As I write the majority of my applications for the web, I would love to see a lot of this power move to that platform as well. 🙂

---

<div class="post-metadata">

**Author:** ![Tim\_Parnell](https://forum.xojo.com/user_avatar/forum.xojo.com/tim_parnell/32/161_2.png) [@Tim\_Parnell](https://forum.xojo.com/u/Tim_Parnell)\
**Post date:** [January 30, 2019, 11:41pm UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/20 "2019-01-30T23:41:04Z")

</div>

> [@423090:@Robert Litchfield](#):
>
> As I write the majority of my applications for the web, I would love to see a lot of this power move to that platform as well. 🙂

Web is very easily extendable, create custom controls. They’ll be faster, behave better, and are more native than a bunch of drawing.

---

<div class="post-metadata">

**Author:** ![system](https://forum.xojo.com/uploads/default/original/1X/455b4dcc0e61630e9f81940004ddffa49c432a46.png) [@system](https://forum.xojo.com/u/system)\
**Post date:** [October 29, 2020, 7:32pm UTC](https://forum.xojo.com/t/gui-which-controls-are-these/47157/21 "2020-10-29T19:32:27Z")

</div>


