Article Preview
Buy Now
COLUMN
Windows Dialogs
Advanced Dialogs in Windows
Issue: 24.3 (May/June 2026)
Author: Stefanie Juchmes-Simonis
Author Bio: Stefanie studied computer science at the university in Bonn. She came in touch with Xojo due to the work of her brother-in-law and got a junior developer position in early 2019 at Monkeybread Software.
Article Description: This article explores advanced dialog customization in Windows using the `TaskDialogMBS` class from Monkeybread Software, surpassing the capabilities of Xojo's built-in tools. By creating a subclass `MyDialog` from `TaskDialogMBS`, developers can configure various dialog elements such as title bars with logos, multi-level content with customizable icons, and footers. The article details adding expandable sections, standard and custom buttons with unique IDs, verification checkboxes, and progress bars that update via a timer event. It also covers dialog positioning, automatic timeout closures, hyperlink integration for additional resources, and handling events like button clicks, hyperlink activation, and dialog closure. This comprehensive guide aims to enhance user interaction by enabling more sophisticated and tailored dialog designs in Windows applications..
Article Length (in bytes): 19,945
Starting Page Number: 79
Article Number: 24308
Resource File(s):
project24308.zip Updated: 2026-05-04 10:01:34
Related Link(s): None
Excerpt of article text...
Dialogs have become an indispensable part of user interaction. Whether it's a dialog that requires the user to make a decision with a single click, or a progress bar that lets the user know an internal process will take a little while longer, they play a big role. In this Spotlight, I'd like to show you how to build a dialog in Windows exactly the way you want it, using features that go beyond Xojo's built-in tools.
To use these options, we find ourselves in the
TaskDialogMBSclass. This class provides us with the techniques we need (see Figure 1). It contains properties, methods, events, and constants that are helpful to us.First, we need an object of this class so that we can configure the settings for a dialog. But since we also want to work with events later on, we create a new class called
MyDialog, which inherits from theTaskDialogMBSclass. So when we create a dialog, we create a new object of theMyDialogclass.
Dialog = new MyDialog
...End of Excerpt. Please purchase the magazine to read the full article.









