The following table contains a list of some Open Class Class Library tasks and cross-references them to the samples and examples used in the information that show you how to complete the task.
| Tasks | Sample or Example | Class Usage |
|---|---|---|
| Create a basic frame window with a line of text centered in the middle of the window | See Hello World version 1. | IFrameWindow IStaticText |
| Align a text string within a static text control | See Hello World version 2 and the Split Canvas Example. | IStaticText |
| Display information about an application in an information area below the client window | See Hello World versions 2-6. | IFrameExtension IInfoArea |
| Title your application using an .rc file | See Hello World versions 2-6. | IFrameWindow |
| Display application status in a status area | See Hello World versions 3-6. | IFrameExtension IFrameWindow IStaticText |
| Process menu bar items | See Hello World versions 3-6. | ICommandHandler IMenuBar |
| Let the user perform functions using accelerator keys | See Hello World versions 4-6. |
IFrameWindow IMenuBar |
| Request text information from users using a modal dialog | See Hello World versions 4-6. |
IFrameWindow |
| Display multiple controls in a client
area using a canvas control |
See Hello World version 5, Set Canvas Sample, Split Canvas Sample, and the Multicell Canvas Sample. | IMultiCellCanvas ISplitCanvas ISetCanvas ICanvas |
| Display information to a user in a list | See Hello World version 5 and the List
Box Sample. |
IListBox |
| Perform an action when a user selects an item from a list | See Hello World version 5. |
IListBox IListBox::Cursor ISelectHandler |
| Display and repaint an IDrawingCanvas | See Hello World versions 5 and 6. |
IDrawingCanvas IResizeHandler |
| Add help to an application (requires use of IPFX/X on Motif and Windows) | See Hello World versions 5 and 6. |
IHelpHandler IHelpWindow |
| Perform an action when an user selects an item from a combo box in a dialog window | See Hello World version 6. |
IComboBox ICommandHandler IFrameWindow |
| Show multiple components on a status line | See Hello World version 6. |
IFrameExtension ISplitCanvas |
| Display a digital clock (long and short form) | See Hello World version 6 and the Own Handler Sample. | IString ITime ITimer |
| Display the date (long and short form) | See Hello World version 6. | IDate IString |
| Let the user dynamically change the font of an application using a font dialog | See Hello World version 6, Tool Bar 1, and Tool Bar 2. | IFontDialog ISelectHandler |
| Customize an application using a notebook control | See Hello World version 6. | ICommandHandler IFrameWindow INotebook |
| Customize an application using a pop-up menu | See Hello World version 6. | IMenuHandler IPopUpMenu |
| Record a user's settings of an application | See Hello World version 6. |
IProfile |
| Customize a control |
See the Adding Styles section. | IBitFlag IWindow |
| Create a message box |
See Specifying Message Box Information and the Message Box Sample. | IMessageBox |
| Save data from a user-edited control to
a file |
See Viewing and Editing MLE Fields and the Multi-Line Entry Field Sample. | IMultiLineEdit |
| Display a list of choices to a user | See Creating and Using List Controls and Hello World versions 5 and 6. | IListBox ISelectHandler |
| Displaying a discrete set of choices to a user | See Creating and Using List Controls. | INumericSpinButton ITextSpinButton |
| Arrange child controls in rows or
columns |
See Creating and Using Canvas Controls and the Set Canvas Sample. | ISetCanvas |
| Arrange child controls in a grid of rows
and columns |
See Understanding Multicell Canvas and the Multicell Canvas Sample. | IMultiCellCanvas |
| Provide a scrollable view area |
See Understanding View Ports and the View Port Sample. | IViewPort |
| Let the user make a file selection using
a file dialog control |
See Creating and Using File and Font Dialogs, Multi-Line Entry Field Sample, Multi-Media Remote Sample, and the Multi-Media Stereo Sample. | IFileDialog IFileDialog::Settings |
| Create pop-up menus |
See Creating Menu Bars and Pull-Down Submenus, Hello World version 6, and the Tool Bar 1 Sample. | IMenuHandler IPopUpMenu |
| Create and populate a container control |
See Creating and Using Containers and the Container Sample. | ICNRAllocator IContainerControl IContainerObject |
| Enable direct manipulation support | See Supporting Direct Manipulation. | IDM* classes |
| Enable direct manipulation for an entry field or an MLE control | Direct Manipulation Sample 1 | IDMHandler IEntryField IMultiLineEdit |
| Enable a bitmap control as a drop target |
Direct Manipulation Sample 2 (OS/2 only) | IBitmapControl IDMHandler IDMItem IDMItemProviderFor IDMTargetDropEvent IDMTargetEvent |
| Enable direct manipulation for intra-process (source and target containers in the same process) container support | Direct Manipulation Sample 3 |
IContainerColumn IContainerControl IContainerObject IDMHandler |
| Enable direct manipulation for inter-process (source and target containers in the separate processes) container support | Direct Manipulation Sample 4 | IContainerControl IContainerObject IDMCnrItem IDMHandler IDMSourceDiscardEvent IDMSourceOperation IDMTargetDropEvent |
| Enable a static text control as a drag
source |
See Enabling a Control as a Drag Source. | IDMHandler IDMItem IDMItemProvider IDMItemProviderFor IDMSourceOperation IStaticText |
| Process different events (time changes on a clock) | See Extending Event Handling. | IHandler |
| Add mouse handlers | See Handling Mouse Events. | IMouseHandler |
| Use clipboards in your applications | See Adding Clipboard Support and the Container Clipboard Sample. | IClipboardHandler IClipboard |
| Provide tool bars that the user can manipulate and customize | See Adding Tool Bars, Tool Bar 1 Sample, and the Tool Bar 2 Sample. | IToolBar IFlyOverHelpHandler |
| Add 2-dimensional graphics support to
your applications |
See Using Graphics in Your Application,
2D Graphics Sample, and Hello World version 5 and 6. |
IG* Classes |
| Create a remote control interface using
multimedia classes |
See Creating and Using Multimedia
Controls and the Multimedia Sample 1 (Multimedia Remote Sample). |
IMM* classes |
| Create a stereo interface using
multimedia classes |
See Creating and Using Multimedia
Controls and the Multimedia Sample 2 (Multimedia Stereo Sample). |
IMM* classes |
| Use a multiline entry field to create a simple editor | See the Multiline Entry Field Sample. | ICommandHandler IFileDialog IFontDialog IFrameWindow IHandler IMenuHandler IMultiLineEdit |
| Use a view port canvas displaying a bitmap as a page in a notebook control | See the Notebook Sample. | IBitmapControl IBitmapHandle INotebook IViewPort |
| Note: | All samples are located in the following directory: \samples\ioc |
![]()
Using
the Sample Applications
Hello
World Version 1: Creating a Main Window
Hello
World Version 2: Adding Resource Files and Frame Extensions
Hello
World Version 3: Adding Command Handlers and Menu Bars
Hello
World Version 4: Adding Dialogs and Push Buttons
Hello
World Version 5: Adding Canvases, a List Box, Native System
Functions, and Help
Hello
World Version 6: Adding a Font Dialog, Pop-up Menus,
Notebooks, and Graphics
![]()
IBitFlag
IBitmapControl
IBitmapHandle
ICNRAllocator
ICanvas
IClipboard
IClipboardHandler
IComboBox
ICommandHandler
IContainerColumn
IContainerControl
IContainerObject
IDMCnrItem
IDMHandler
IDMItem
IDMItemProvider
IDMItemProviderFor
IDMSourceDiscardEvent
IDMSourceOperation
IDMTargetDropEvent
IDMTargetEvent
IDate
IDrawingCanvas
IEntryField
IFileDialog
IFileDialog::Settings
IFlyOverHelpHandler
IFlyText
IFontDialog
IFrameExtension
IFrameWindow
IHandler
IHelpHandler
IHelpWindow
IInfoArea
IListBox
IListBox::Cursor
IMGraphic
IMenuBar
IMenuHandler
IMessageBox
IMouseHandler
IMultiCellCanvas
IMultiLineEdit
IMultimedia
INotebook
INumericSpinButton
IPopUpMenu
IProfile
IResizeHandler
ISelectHandler
ISetCanvas
ISplitCanvas
IStaticText
IString
ITextSpinButton
ITime
ITimer
IToolBar
IViewPort
IWindow