OWL/OWLNext

HOME
CV
FINITE ELEMENTS
OLE
OWL/OWLNext
LINKS

Introduction

OWL stands for Object Windows Library and is the framework that the Borland company developed to facilitate the programming under the Windows platform. As the name suggests, the framework itself is objective and helps to write object oriented Windows programs. The engineers at Borland sculptured the framework so neatly and so carefully that it turned out to be a serious competitor to MFC framework at the time. It included many features that MFC did not. It also attracted many programmers who enjoyed the beauty of OWL.
Unfortunately Borland ceased to support the OWL framework in 1996 and switched to VCL. However this was not the end point of OWL, because those who have been working with OWL since its birth tried to promote its state and extend its capabilities to newer versions and other platforms as well. The result of this promotion was the
OWLNext framework as a successor of OWL.

In this page I have uploaded source codes for OWL framework among which some are completely new, some are ported from MFC and some other upgraded from existing source codes. In this work, Sebastian Ledesma has greatly contributed and I wish to express my special thanks to him. I've divided the source codes into two sections, those provided by me and those by Sebastian.

Keywords

OWL, OWLNext, MFC, VCL, SmartWin++, wxWidgets, Framework, Win64, Linux, Windows Mobile, OLE, OCX, ActiveX, Easy Development, Visual Studio, C++ Builder, Free, Borland, Codegear, Unicode, STL
 

What's New

  • A new example using TTreeViewCtrl with icons and TImageList by Sebastian

  • An example for implementing TFontText class in OWLNext by Sebastian

  • Another beautiful example by Sebastian showing how to manage the colors of different controls in OWL

  • The updated version of WM_NC_Demo by Sebastian

  • The updated version of OpenGL tutorial with a new example by Mohsen

  • The updated version of Gradient demo by Sebastian

 

Mohsen

 

 

Support Libraries, I've added this link for those who are not OWL programmers or for any reason do not have support libraries to run the samples.

Simple Grid Control, I always wanted to know about the details of developing a simple but efficient grid control. This tendency made me to download several MFC and plain API sources from the internet and investigate them to see which is more easier to be converted to OWL. The sample presented here is a porting from MFC. I've tried to keep the code as object oriented as possible.

Powerful Graph Control, it is quite important if you can present the output of your program to the end user in a magnificent way. I have tried to develop a graph control which can ease the process of drawing graphs using the data fed into it. You can download a demo of this control by clicking on the link. A few of the things that you can do with this control are listed below. Most of these capabilities are available through the context menu provided for the control.

  • Change line styles and colors for individual graphs

  • Change background and foreground colors

  • Show/Hide grid lines

  • Show/Hide the legend

  • Show/Hide individual graphs

  • Copy to clipboard and paste in other applications

Property Box, this sample was originally written using MFC by Christopher Dix. It was, then, ported to OWL by Luigi Bianchi and some part of it was modified by Jogy. In the ported version, subclassing was performed in Windows API fashion and objectivity was not of great concern. In the sample presented here, I removed all of the code for subclassing and tried to make it as object oriented as possible.

OpenGL demos, OpenGL is a powerful interface to create beautiful animations and images. I have already used it in a few of my OWL codes. In the two examples presented here, I have tried to show the basic steps for integrating OpenGL into the OWL framework. Rotating cube is a porting from MFC.

OpenGL Tutorial, this tutorial is converted to OWL from the original tutorial in GameDev site by Greg Sidelnikov. The code is straightforward but if you have any problem for missing libraries you can consult the Gantless site. This site discusses how to solve the problems that arise in writing OpenGL programs under Borland compilers. Finally I should confess that I only had the chance to convert a few of the tutorials presented in GameDev site. I try to convert more tutorials every other time. Therefore I suggest to visit this page regularly.

Spectrum, in this sample a selected earthquake is applied to a mass which is connected to a spring and damper. The response of the system during excitation is calculated using the classic equations of structural dynamics. Both the earthquake and the system displacement are plotted using graph control. I have included some earthquake records among which the user can select to see the influence on a particular model.

Matrix Master, this sample demonstrates many aspects of OWL such as TPaneSplitter and custom controls. In this sample, I used the grid control to make the process of inputting matrices more user friendly. This sample performs many popular operations on matrices fed into it.

Clock, this is a very simple clock control. It is intended to demonstrate the basics of developing a control with OWL. It also shows how to put an associated icon on the task bar.

Bitmap Menu, this is the new version of bitmap menu originally developed by Dieter Windau and modified by Luigi Bianchi. I've tried to give more Windows XP feel and look. Running the program clearly reveals the promotions relative to previous versions. I avoid from giving more details and leave it to you to find out how it works.

XP Control Bar, this is another example of the Windows XP series. In this example, it is demonstrated how to draw custom control bars and button gadgets using OWL in order to add the feel and look of Windows XP. Some parts of the implementation of button gadgets are based on the example IE3 Style Button Gadgets from OWL HOW site and some are based on the implementation of OWL itself.

 

Sebastian

 

Gradient Demo, this example demonstrates how to use custom painting or alternatively the new API function, GradientFill, to fill rectangles with colors that vary horizontally or vertically from one specified color to another.

 

Alpha Blending, in this example a dialog shows up and if you switch to another window the dialog becomes transparent, i.e. its color blends with whatever that underlies it.

 

SpecialFX Demo, this interesting example demonstrates how to apply various effects to a given picture. I should confess that it is an amazing work.

WM_NC_Demo, this example shows how to use custom painting in non-client area of a window using OWL/OWLNext framework. The updated version is UNICODE compatible and it implements TCoolFrame::SetBorderWidth(int size) to define the border width of the CoolFrame.

OWL Player, this example demonstrates how to create non-rectangular windows using OWL/OWLNext.

 

FontText, this example shows how to implement a new control derived from TControl. It illustrates the steps required to build your own customized controls.

 

Control Colors, this demo is an interesting example showing how you can effectively manage the colors in OWL apps.

 

WASAPI, this is an interesting example that demonstrates the application of TTreeViewCtrl with icons (using TImageList), which is combined with the Windows Audio Session API.
 

Last Updated: 12/11/2023