CADDIT CAD CAM CNC Software - download AutoCAD compatible design software progeCAD Alibre T-FLEX and more
CADDIT Website Knowledge Base Search:

progeCAD Help

Welcome to progeCAD
Working with progeCAD
Command Reference
CAD System Variables
Programming progeCAD
Full Index (caution - 400kb)

Further Links:

Download progeCAD
Register progeCAD


T-FLEX PLM tutorial (PDF)
progeCAD IntelliCAD and AutoCAD training 
CATIA 2D 3D design tutorial
Alibre CAD/CAM basic tutorial


Educational CAD Software Solutions
Python scripting for DOS and Windows
Other free software downloads
CADDIT CAD CAM Forum Australia

: popup_list

Display a drop-down list.     DCL Active Tile

This active tile displays a drop-down list box. Contrary to its name, the popup_list drops down, not up.

The popup_list tile first appears as a single line, and more of the list appears when the user clicks the down-arrow. If necessary, the dropped down list also includes This tile is useful when dialog box space is limited.

NOTE By contrast, a popup_list does not permit.

Creating and Modifying a Pop-up List with LISP Functions

To create and modify the list displayed by the popup_list tile, use these LISP functions:

  • (start_list "key" int1 int2)
  • The start_list function takes three arguments. The key argument identifies the name of the popup_list tile. The int1 argument specifies the action to take:

int1 Meaning
1 Change one item in the list.
2 Add an item to the end of the list.
3 Create a new list; the default.

    The int2 argument specifies the item # to change (the first item in the list is #0); int2 is only used when int1 is 1. For example:

    (start_list "L1" 1 3     ; changes the fourth item in the list.

  • (add_list "string")
  • To make the change, use the add_list function. The string argument specifies the text that will be added or replaced in the list:

    (start_list "L1" 1 3     ; Changes the fourth item in the list.

    (add_list "New item")

    When start_list is in change mode (int1 = 1), each call to add_list changes the same item. When start_list is in add mode (int1 = 2), each call to add_list adds another item to the end of the list.

  • (end_list)
  • To end the list processing, call the end_list function, as follows:

    (start_list "L1" 1 3     ; changes the fourth item in the list.

    (add_list "New item")


NOTE There are no LISP functions for inserting an item in the middle of the list nor for deleting an item from the list.

Valid Attributes

: popup_list {

          action = "(string)";

          alignment = position;

          edit_width = number;

          fixed_height = flag;

          fixed_width = flag;

          height = number;

          is_enabled = flag;

          is_tab_stop = flag;

          key = "string";

          label = "string";

          list = "string";

          mnemonic = "char";

          tabs = "string";

          value = "string";

          width = number;



: popup_list {

          action = "(patternlsp)";

          edit_width = 0;

          key = "PL2";

          value = "Closed\nFilled\nOpen";

          list = "2";



    • The label attribute displays the text to the left of the popup list box.
    • The value attribute determines which items on the list are initially selected or highlighted. The attribute consists of a string of integers separated by spaces, such as:
      value = "0 2 5";
    • The first item is #0. A null string "" means no items are highlighted.








Programming Overview of DCL (Dialog Control Language)

About Predefined Attributes

CADDIT® is a registered trademark in Australia. All Rights Reserved. Comments concerning the content of this site should be addressed to our webmaster. progeCAD is a trademark of ProgeCAD srl. Autodesk® and AutoCAD® are both registered trademarks or trademarks of a third party, and used only for comparison purposes. All other trademarks, trade names or company names referenced herein are used for identification only and are the property of their respective owners. Legal and Terms of Use. Google. Find us on Google+.