TPickDialog is a VCL component created by TMS Software that functions as a lightweight, customizable popup dialog box designed for fast user selection from a list of options.
It is bundled as part of commercial toolkits like the TMS VCL UI Pack (formerly the TMS Component Pack) and is widely used in Delphi and C++Builder rapid application development (RAD) environments. đ Core Capabilities
Unlike standard modal message prompts, TPickDialog explicitly acts like a standalone floating TListBox or TCheckListBox:
Fast Data Selection: It pops open a clean menu list allowing users to pick one or more strings dynamically and immediately returns that selection back to a dedicated property.
Highly Flexible Styling: Developers can change the layout behavior using properties like Sizeable, ToolWindow, and StayOnTop to make it appear exactly where and how it is needed.
Built-in Click Handling: It exposes direct, native events when an item inside the list is clicked or double-clicked, simplifying state changes without manual event wiring. âď¸ Main Properties to Know
The most critical properties that dictate how TPickDialog renders data include: ListType: Dictates the interface selection style.
ltList: Emulates a regular list box where a single item is highlighted and picked.
ltCheckList: Automatically injects checkboxes next to each string option, turning the dialog into a multi-select menu.
Items: A standard TStrings container used to populate the collection of choices available to the user at design-time or runtime.
Selected / Selection: Properties that hold the final value or collection of string pointers chosen by the user right after the dialog is closed. đť Simple Code Implementation
In Delphi, you typically trigger the dialog box by dropping the component on a form and invoking its display method (such as Execute or passing list items to it). A standard implementation looks similar to this:
procedure TForm1.SelectCategoryButtonClick(Sender: TObject); begin // 1. Populate the dialog choices PickDialog1.Items.Clear; PickDialog1.Items.Add(‘Administration’); PickDialog1.Items.Add(‘Billing & Accounts’); PickDialog1.Items.Add(‘Technical Support’); // 2. Set style to standard checklist (multi-select) PickDialog1.ListType := ltCheckList; // 3. Open the dialog and capture selection if PickDialog1.Execute then begin // Do something with the chosen items ShowMessage(‘You picked: ’ + PickDialog1.ResultString); end; end; Use code with caution.
If you are using this component in a project, I can help you write specific logic for it. Tell me:
What IDE version are you working with (Delphi or C++Builder)?
Do you need to track single selections or allow multiple checkboxes?
Where is your list data coming from (e.g., hardcoded arrays, database tables, or text files)?
TPickDialog Popup dialog box for fast selection of items in a list