Microsoft Foundation Class Library

MFCMicrosoft Foundation ClassesApplication Framework eXtensions
Object Windows Library (OWL), designed for use with Borland's Turbo C++ compiler, was a competing product introduced by Borland around the same time. Eventually, Borland discontinued OWL development and licensed the distribution of the MFC headers, libraries and DLLs from Microsoft for a short time, though it never offered fully integrated support for MFC. Borland later released Visual Component Library to replace the OWL framework. MFC is a library that wraps portions of the Windows API in C++ classes, including functionality that enables them to use a default application framework.


C++ BuilderBorland C++ BuilderBorland C++ Builder 6.0
Support for industry standards, including Oracle Corporation's Oracle8i database server; Microsoft Corporation's Microsoft Foundation Classes (MFC), Microsoft Active Template Library (ATL), Microsoft SQL Server 7 and MTS (Microsoft Transaction Server); and Inprise Corporation's Object Windows Library (OWL) and Visual Component Library (VCL). EZ-COM, which simplifies C++ COM client development and One-Step ActiveX Control creation with new Data Binding support. Support of Windows 2000. Internet Express. XML and HTML4 Support for Full-featured Dynamic Clients. Active Server Objects for the Microsoft Internet Platform. TeamSource. Support of Windows XP.

Microsoft Windows

WindowsPCMS Windows
Microsoft Windows, commonly referred to as Windows, is a group of several non-free graphical operating system families, all of which are developed, marketed and sold by Microsoft. Each family caters to a certain sector of the computing industry. Active Microsoft Windows families include Windows NT and Windows IoT; these may encompass subfamilies, e.g. Windows Server or Windows Embedded Compact (Windows CE). Defunct Microsoft Windows families include Windows 9x, Windows Mobile and Windows Phone.


Borland InternationalBorland Software CorporationSegue Software
Borland Software Corporation is a software company that facilitates software deployment projects. Borland was first headquartered in Scotts Valley, California, then in Cupertino, California, and now in Austin, Texas. It is now a Micro Focus International subsidiary. It was founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn.

Software framework

frameworkframeworksdevelopment framework
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software. It provides a standard way to build and deploy applications and it is a universal, reusable software environment that provides particular functionality as part of a larger software platform to facilitate development of software applications, products and solutions.

Cross-platform software

Cross-platformPlatform independentmulti-platform
In computing, cross-platform software (also multi-platform software or platform-independent software) is computer software that is implemented on multiple computing platforms. Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.

Turbo Vision

Later it was deprecated in favor of Object Windows Library for the then-increasingly important Win16 API. The Turbo Vision framework was included with Borland Pascal, Turbo Pascal, and Borland C++. It was used by Borland itself to write the integrated development environments (IDE) for these programming languages. By default, Turbo Vision applications replicate the look and feel of these IDEs. Key parts of the Turbo Vision library replicate the functionality of standard components in Microsoft Windows, for example edit controls, list boxes, check boxes, radio buttons and menus, all of which have built-in mouse support.

List of widget toolkits

List of widget toolkits based on JavaScriptalternativesGUI framework
The Object Windows Library (OWL), Borland's alternative to MFC. The Visual Component Library (VCL) is Embarcadero's toolkit used in C++Builder and Delphi. It wraps the native Windows controls, providing object-oriented classes and visual design, although also allowing access to the underlying handles and other WinAPI details if required. It was originally implemented as a successor to OWL, skipping the OWL/MFC style of UI creation, which by the mid-nineties was a dated design model. Windows Forms is Microsoft's .NET set of classes that handle GUI controls.

Windows Template Library

Visual Component Library. Object Windows Library. Microsoft's download page for WTL 7.5. Microsoft's download page for WTL 8.0. WTL 8.1 (2011-11-21). WTL Documentation - An Effort to Create Documentation for the WTL Programming Library. "Using the Windows Template Library Part 1". "Using the Windows Template Library Part 2". "WTL for MFC Programmers" – A series of tutorials aimed at MFC programmers who want to start using WTL. The WTL Wiki - A wiki dedicated to the Windows Template Library (WTL).

List of Microsoft Windows application programming interfaces and frameworks

Windows API
Object Windows Library (OWL). Standard Template Library (STL). Visual Component Library (VCL). Windows Template Library (WTL). Text Object Model (TOM).

Component-based software engineering

software componentcomponentcomponents
VCL and CLX from Borland and similar free LCL library. XPCOM from Mozilla Foundation. Compound document technologies. Active Documents in Oberon System and BlackBox Component Builder. KParts, the KDE compound document technology. Object linking and embedding (OLE). OpenDoc. Distributed computing software components. .NET Remoting from Microsoft. 9P distributed protocol developed for Plan 9, and used by Inferno and other systems. CORBA and the CORBA Component Model from the Object Management Group. D-Bus from the organization. DCOM and later versions of COM (and COM+) from Microsoft. DSOM and SOM from IBM (now scrapped). Ice from ZeroC. Java EE from Sun. Kompics from SICS.

Borland C++

Borland Turbo C++BorlandBorland C
C++ compiler can support ObjectWindows Library (OWL) 5.0, Microsoft Foundation Classes 3.2/4.0 libraries. 5.01 (1996-09-03(base, Development Suite, Design Tools) ): Base version now includes ViewSoft's Power Charger for MFC demo, Borland Delphi 2.0 Trial Edition, DeltaPoint's QuickSite automatic web page creation and site management tool; with ObjectWindows Library (OWL) updated to 5.01.

OpenWire (library)

OpenWire is available for Visual Component Library (VCL) and FireMonkey (FMX). The project started in 1997 as an attempt for visual design of text parsers. Later it was used for designing signal processing libraries, and was expanded to support any data type. Pins form the connections between the components. OpenWire defines 4 types of pins: Pin lists can contain and group pins. OpenWire defines 2 types of pin lists: Two pins in OpenWire can connect and exchange data only if they support compatible data types. Each pin can support one or more data types. The data types are distinguished by GUID unique for each data type. The latest version of OpenWire supports automatic data conversion.

Delphi (software)

DelphiBorland DelphiEmbarcadero Delphi
The Delphi products all ship with a Visual Component Library (VCL), including most of its source code. Third-party components (sometimes with full source code) and tools to enhance the IDE or for other Delphi related development tasks are available, some free of charge. The IDE includes a GUI for localization and translation of created programs that may be deployed to a translator; there are also third-party tools with more features for this purpose. The VCL framework maintains a high level of source compatibility between versions, which simplifies updating existing source code to a newer Delphi version.


Along with the traditional Windows only Visual Component Library (VCL), FireMonkey is included as part of Delphi, C++Builder and RAD Studio since version XE2. FireMonkey started out as a vector based UI framework, but evolved to be a bitmap or raster based UI framework to give greater control of the look to match target platform appearances. FireMonkey is a cross-platform UI framework, and allows developers to create user interfaces that run on Windows, macOS, iOS and Android.

Component Library for Cross Platform

Its aim was to replace the popular Microsoft Foundation Classes with Visual Component Library. CLX was based on Qt by Nokia. The API of CLX almost completely followed VCL. It was envisioned that existing applications using VCL would be recompiled with CLX. However, due to lacklustre performance on Windows, subtle differences from VCL, and bugs, it didn't become the expected successor to VCL. Commercial failure of Kylix stopped further development of CLX. In terms of object-oriented approach, CLX forms an object hierarchy where the TObject class serves as the base class. All other classes inherit or indirectly inherit the TObject class.

Borland Kylix

KylixKylix (software)
Kylix features CLX, a Linux version of Borland's VCL [Visual Component Library], which is (mostly) a component-based control library, not unlike Visual Basic or .NET's WinForms. Like other component-oriented libraries, CLX contains both visual components (such as buttons and panels) and non-visual components (such as timers). The IDE makes it easy to select components and place them on a form, editing properties and event handlers with an "Object Inspector". Delphi's VCL is an object-oriented wrapper over raw Win32 controls, that maps Win32 messages and APIs to properties and events and is thus significantly easier to use than the raw API.

Lazarus (IDE)

LazarusLazarus IDELCL
The standard application framework, Lazarus Component Library (LCL) was originally modeled after the Visual Component Library (VCL) in Delphi 6, and, unlike Delphi, is not restricted to Microsoft Windows operating systems. This is done by separating the definition of common widget classes and their widgetset-specific implementation. Each widget set is supported by providing an interface which interacts directly with the set. Developers can install packages that allow Lazarus to support several database management systems (DBMSes). Programs can interact with DBMSes through code or by components dropped on a form.


The TeeChart Charting Library offers Charts, Maps and Gauge (instrument) in versions for Delphi VCL and FireMonkey (FMX), Activex, C Sharp (programming language) for Microsoft Visual Studio .NET, Java (programming language) and PHP. Full sourcecode has always been available for all versions except the ActiveX version. TeeChart's user interface is translated into 38 languages. The first version of TeeChart was authored in 1995 by David Berneda, co-founder of Steema, using the Borland Delphi Visual Component Library programming environment and TeeChart was first released as a shareware version and made available via Compuserve in the same year.

Object-oriented programming

object-orientedobject orientedobject-oriented programming language
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data, in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods). A feature of objects is an object's procedures that can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self"). In OOP, computer programs are designed by making them out of objects that interact with one another. OOP languages are diverse, but the most popular ones are class-based, meaning that objects are instances of classes, which also determine their types.


C++ programming languageC++98C with Classes
C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significantly over time, and modern C++ has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation. It is almost always implemented as a compiled language, and many vendors provide C++ compilers, including the Free Software Foundation, LLVM, Microsoft, Intel, Oracle, and IBM, so it is available on many platforms.

Application framework

frameworkframeworksapplication development framework
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of application software.

Object Pascal

DelphiDelphi programming languageDCU
Object Pascal is an extension to the Pascal programming language that provides object-oriented features such as classes and methods.

Rapid application development

RADrapid developmentrapid prototyping
Rapid-application development (RAD), also called rapid-application building (RAB), is both a general term, used to refer to adaptive software development approaches, as well as the name for Terry Barraclough's approach to rapid development. In general, RAD approaches to software development put less emphasis on planning and more emphasis on an adaptive process. Prototypes are often used in addition to or sometimes even in place of design specifications.

Class (computer programming)

classclassesPartial class
The volatility of the Internet requires this level of flexibility and the technology standards such as the Web Ontology Language (OWL) are designed to support it. A similar issue is whether or not the class hierarchy can be modified at run time. Languages such as Flavors, CLOS, and Smalltalk all support this feature as part of their meta-object protocols. Since classes are themselves first-class objects, it is possible to have them dynamically alter their structure by sending them the appropriate messages. Other languages that focus more on strong typing such as Java and C++ do not allow the class hierarchy to be modified at run time.