Topic: APLX Help : System Classes : System Classes by category
[ Previous | Next | Contents | Index | APL Home ]

System Classes by category

Windows and Menus

To create a top-level window on which other controls will be placed, you normally use the Window or Form class. The Dialog class is similar, but is automatically preset with the default appearance and behavior suitable for a dialog box. You can add menus to your windows using the Menu class.

The Document class is a convenience class which comprises a window with a built-in text-edit capability.

Buttons, Combos, and List Boxes

Simple controls which you will use on many dialogs include the Button class for standard action buttons, the Check and Radio buttons which allow users to select options, and the Combo box. The List class implements standard List boxes, for selecting one or more items from a list.

The ToolButton class can be used as an alternative to Buttons, Check boxes and Radio buttons. It allows you to specify an image to be displayed on the button, and is particularly suitable for implementing a toolbar.

Displaying and inputting text

You can use the Label class to place static text on your windows. For editable text, use the Edit class; this can handle both single-line and multi-line text input and editing.

For more sophisticated text display and editing, with full control over formatting, you can use the powerful RichEdit class.

(See also the Draw method, which provides an alternative way of placing text on windows).

Selecting or displaying a numeric value or position

The Spinner class allows the user to select a numeric value using a pair of up-down or left-right arrows. The Trackbar class displays a slider, which the user can move to select a value. The Scroll class implements a scroll bar.

The Progress class implements a progress bar; it is typically used to show the progress of a long operation.

Trees and Grids

Two of APLX's built-in classes provide more complex user-interface functionality, although they are still easy to use. These are the Tree object class, for displaying and manipulating hierarchical tree-views of data, and the Grid class, which provides a spreadsheet-like interface for handling arrays of data.

Shapes and Icons

These controls provide simple decorative elements for your dialogs. They include the Line, Rectangle, RoundRect, Arc and Icon classes. (You can also use the Draw method for more sophisticated geometric drawing.)

Pictures, Images and Movies

You can display pictures, such as JPEG and BMP files, using a Picture object. This can also be used to display APL arrays of pixel values.

For more sophisticated image handling, APLX provides an interface to the ImageMagick package, encapsulated as the Image class. This provides the capability for loading and saving graphics images in a very wide range of formats, as well as providing facilities for scaling, transformation, color adjustment, and image enhancement. It can also be used in conjunction with the Draw method for creating or adding graphics elements to images.

Movies can be played using the Movie class.

The ImageList class is a special non-visual class which holds images displayed in menus and other controls. It is not available under MacOS.


The Chart object class, together with the related Series class, makes it very easy to add business and scientific graphs to your APLX applications. It can display Line, Area, Scatter, Stair, High-Low-Open-Close, Candlestick, Bar, Stacked Bar, and Pie charts.

Geometry management and tabs

The Bevel and Frame classes allow you to group controls together visually. For complex dialogs, you can use a Splitter control to allow the user to expand or contract regions of the dialog. You can also use the Selector and Page classes to implement tabbed dialogs.

Pre-defined dialogs

APLX includes a number of pre-defined dialogs, which encapsulate all of the necessary functionality for common tasks such as displaying message boxes (MsgBox), selecting files and directories (OpenFile, SaveFile and ChooseDir), selecting colors (ChooseColor), and (under Windows and Linux only), selecting fonts (ChooseFont). These are top-level objects, which should not be created as a child of a window, but can be used directly.

Non-visual classes

A few special classes do not represent visible controls or windows. These include the System class (which is created automatically as the parent of all top-level objects, and which can be used to return information about the system APLX is running on and for accessing the Clipboard), the Timer class (which runs APL callbacks at specified intervals), and the Printer class (for printing text and graphics).

Networking classes

Another set of non-visual classes allows your APLX applications to exchange data over a local-area network or the Internet. These include classes for sending and retrieving e-mails (SendMail and GetMail), for retrieving web pages and other documents using the HTTP protocol (HTTPClient), and the low-level Socket class.

OCX/ActiveX (COM) classes

Under Windows, as well as using the APLX built-in classes such as Button and MsgBox, you can also use external OCX/ActiveX controls (also known as COM controls). You can also embed or link to documents belonging to other applications in an OLEContainer control, or invoke a separate application such as Microsoft Excel and exchange data with it. See the section on OCX/ActiveX Controls and OLE Automation for more information.


Using the APL class, your applications can create and communicate with new APL child tasks. These can either be background tasks, or have their own Session windows.

Topic: APLX Help : System Classes : System Classes by category
[ Previous | Next | Contents | Index | APL Home ]