How do you skin already-existing DirectGui frames?

I need to have pretty detailed control like margin, background texture, text specific properties (text-alignment, text-color, text font, etc…)…

Is there a way to skin already-existing DirectGui frames (like DirectButton or DirectDialog) like that, or do I have to come up with my own GUI system?

Hi, welcome to the forums!

Sure, DirectGui items are fully customizable. There is nothing preventing you from assigning your attributes or custom images.

Thanks, rdb!

I was unable to customise the DirectGuiWidgets in the way I wanted.

Based on this DirectButton tutorial I was able to set button’s image (using geom), but what if I want to have more precise control over it? Currently I need to have a button represented by an image only (without the awkward background), onto which is drawn a text (again, with customisable margin and other text properties). I was unable to find a way how to do it. Could you provide an example?


This is what I’ve managed to do. Note that the text is a part of the image.

Have you tried setting the “relief” keyword to “None”? To quote from this page:

Something like this:

btn = DirectButton(<your parameters here>, relief = None)

That works great Thaumaturge! How could I not see this?