Microsoft Terminology

ActiveX

Microsoft's brand name for the technologies that enable interoperability among components using the Component Object Model (COM).

ActiveX control

A user interface element created using ActiveX technology. Controls built with the MFC Control Developer's Kit meet the ActiveX control specification.

Active Server Pages

ASP technology provides an open, compile-free application environment in which Web developers can combine HTML, scripts, and reusable Active Server components. ASP technology enables server-side scripting for IIS with native support for both Visual Basic Scripting Edition and JScript.

Component Object Model (COM)

The programming model and binary standard on which ActiveX and Automation technologies are based. COM defines how ActiveX and OLE objects and their clients interact within processes or across process boundaries.

COM object

An object that conforms to the Component Object Model. Such objects implement and use the set of interfaces that support object interaction.

Dynamic Link Library (DLL)

A Dynamic Link Library (DLL) is a file of code containing functions that can be called from other executable code (either an application or another DLL). Programmers use DLLs to provide code that they can reuse and to parcel out distinct jobs. Unlike an executable (EXE) file, a DLL cannot be directly run. DLLs must be called from other code that is already executing.

Forms (VJ++)

In Visual J++, a form is the visual representation of a window or dialog box. As a developer, you'll use forms to design your application's user interface. The Forms Designer package is composed of three tools: the Forms Designer itself, the Toolbox, and the Properties window. The Forms Designer is the canvas on which you design your user interfaces. The Toolbox provides controls that you can drag onto the Forms Designer to set up the visual layout of your user interface. The Properties window allows you to set properties and event handlers on either the form or the controls that you place on the form. You'll find that designing Windows applications is much easier once you've mastered the Forms Designer.

The only time you don't use the Forms Designer in developing an application is when you're creating an application with no user interface, or when you want to create an application's user interface on the fly. But even with on-the-fly applications, the Forms Designer can make your life easier because you can provide instances of the controls and position them at run time based on conditions within your application.

MFC (Microsoft Foundation Class)

The MFC is a set of C++ classes that encapsulate a majority of the functionality of applications written for the Microsoft Windows operating system. Since the creation of Windows predates the popularity of the C++ programming language, many application-programming interfaces (APIs) were written in the procedural C-language API. MFC permits any C++ Windows interface to be built on top of the procedural API, and guarantees that C++ applications will be able to coexist with C applications.

WFC (Windows Foundation Class)

WFC is an object-oriented framework that provides a rich encapsulation of the Win32 application-programming interface (API). Constructed on the J/Direct API, WFC makes it possible to rapidly write full-featured applications for Windows by providing an architecture and set of prebuilt components. In addition, WFC allows developers to build thin-client Web applications using client- and server-based Java classes that generate Dynamic HTML on the fly.

Package com.ms.wfc.app

Provides classes that encapsulate Windows application operations, such as threads, messaging, and access to the Clipboard and registry.

The app package is relatively small yet provides a number of important classes to support the application as well as related application features such as messages and threads. The package also includes classes that support application-wide features such as the Registry, Clipboard, and locale. Many of the classes are static classes that simply provide static methods; thus, many cannot be instantiated. If you've seen the code that is provided for a form, you might have noticed calls to the Application class's run or exit methods. The Application class provides a number of static methods that allow you to run and exit an application, store information in the application's thread storage slot, obtain information about the current locale for the application, and conduct message filtering.

Package com.ms.wfc.core

The core package is exactly that: the core classes of WFC. In this package, you'll find not only classes that primarily support the framework, but also classes that support the Forms Designer and more specifically, the Properties window. You'll notice a number of <DataType>Editor classes in the core package. The Properties window uses these classes to parse property settings that a user enters. You can use these classes to parse data from text to a respective data type.

Package com.ms.wfc.data and com.ms.wfc.data.ui

The data and data.ui packages provide support and controls for accessing any type of database. The data package contains all the ActiveX Data Objects (ADO) classes for the Java data programming model. The classes in this package allow you to open and manipulate any type of database that is accessible from Open Database Connectivity (ODBC). You'll use the Connection, Command, and Recordset classes the most when accessing database information. The data.ui package contains the DataSource, DataBinder, DataNavigator, DataList, DataCombo, and DataGrid controls as well as any supporting classes for these controls.

Package com.ms.wfc.html

Provides classes for accessing Dynamic HTML. The html package is this "framework within a framework." This relatively large package of classes contains all the Java classes you need to work with DHTML. Since many of the classes have relative classes in other packages, the Microsoft developers prefixed each of the class names in the package with Dh. The html package provides classes for displaying intrinsic controls, such as the DhComboBox and DhButton. Since these are DHTML controls, they do not extend from any of the same classes as the standard WFC controls would; instead, they extend other base classes such as DhButtonBase and DhElement. The package also provides classes for working with tables, displaying images, and handling text to be displayed.

Package com.ms.wfc.io

Provides classes for working with data streams. Classes handle writing to and reading from file or memory, the io package provides everything you need. The io package's pivotal class is the DataStream class. Almost all stream classes, including the File class, extend DataStream. DataStream provides the base implementation of reading and writing data using streams. The io package also provides a number of other stream classes, such as File, MemoryStream, and BufferedStream. The most commonly used stream class is the File class. This class provides all that you need to read from and write information to files. In addition, the File class provides methods that allow you to perform such tasks as copying files, creating directories, and searching for files.

Package com.ms.wfc.ui

The largest package provides user interface component classes, comprising most of the more interesting classes, is the ui package. It contains classes that are responsible for almost every facet of an application's user interface. Within the package you'll find the Form and Control classes. These are extremely important for applications and define the base for the application's user interface. The Form class represents a dialog box or window, and is extended for each dialog box or window an application uses. The Control class provides many of the base properties and methods that most controls will need to have defined.

With the exception of the data controls that are defined in the data.ui package, the ui package contains all other WFC controls. Here you'll find the Edit, Button, Label, and other intrinsic Windows controls. Other controls in the ui package include the TreeView, ListView, MonthCalendar, and ImageList controls. You'll also find the Menu, MainMenu, and MenuItem classes defined here. These classes are used in combination to define the menus for a form. This package also provides all of the common Windows dialog boxes, such as the FileOpen and Font dialogs.

Package com.ms.wfc.util

The last and probably smallest WFC package is the util package. Despite its size, this package provides miscellaneous utility classes for your applications. To assist in sorting data, the util package includes the ArraySorter and StringSorter classes. These are handy to have when you want to quickly sort data from a file or nonindexed database. If you're looking for a solid list object to use in your projects, the util package also provides a List class that can accept any type of data. This can be useful when you want to perform list operations on a group of related objects. The Debug class includes methods that allow you to print information to the output window, dump the contents of the call stack, and create assertions in your code. These methods can help you debug your application in the Visual J++ environment. Probably the most useful class in the package is the Utils class. This class contains an extensive list of miscellaneous methods you can use to handle tricky situations. Some of the tasks you can perform with the methods in the Utils class are capitalizing and lowercasing strings, comparing arrays, formatting strings, and parsing. If you're searching for an obscure feature, check out the Utils class.