Microsoft Foundation Class Library

MFCMicrosoft Foundation ClassesMFC framework
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.


Borland C++ Builder 6.0C++ BuilderC++ Builder 2009
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. Time Picker control for Windows and OS X. Built-in search filtering for TListView on Windows and OS X. FM Platform performance optimizations.


Borland Software CorporationBorland InternationalBorland C
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. A software framework provides a standard way to build and deploy applications. A software framework 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, Borland's alternative to MFC. The Visual Component Library (VCL) is Borland's toolkit used in its C++ Builder and Delphi products. Windows Forms is .NET's set of classes that handle GUI controls. In the cross-platform Mono implementation, it is an independent toolkit, implemented entirely in managed code (not wrapping the Windows API, which doesn't exist on other platforms). The Windows Presentation Foundation is the graphical subsystem of the .NET Framework 3.0. User interfaces can be created in WPF using any of the CLR languages (e.g. C#) or with the XML-based language XAML. Microsoft Expression Blend is a visual GUI builder for WPF.

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 CBorlandBorland C/C++
Object Windows Library (OWL): A set of C++ classes to make it easier to develop professional graphical Windows applications. Turbo Vision: A set of C++ classes to create professional applications in DOS. Those classes mimics some of the aspects of a Windows application like: dialog boxes, messages pumps, menus, accelerators, etc. Borland Graphics Interface: A library of functions for doing simple, presentation-style 2D graphics. Drivers were included for generic CGA, EGA and VGA capability, with support for a limited number of video-modes, but more advanced, third-party drivers were also available.

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 (IDE)

DelphiRAD StudioBorland 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

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 may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures 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. There is significant diversity of OOP languages, but the most popular ones are class-based, meaning that objects are instances of classes, which typically also determine their type.


C++ programming languageC++ standardC++ language
C++ ( "see plus plus") is a general-purpose programming language. It has imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation.

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

DelphiBorland DelphiDelphi programming language
Object Pascal refers to a branch of object-oriented derivatives of Pascal, mostly known as the primary programming language of Delphi.

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 James Martin'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)

classclassesanonymous 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.