



 |
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 endpoint 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
|
-
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 download several MFC
and plain API sources from 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 the subclassings and tried to make the code as object
oriented as possible. I
collected small sources of related nature into larger sources and
tried to somehow organize them.
-
OpenGL demos, OpenGL is a
powerful interface to create beautiful animations and images. Once I
tried to use it in my OWL codes. As a result of my efforts I
developed two small sources that I guess represent the basics for
more complex OpenGL tasks. Rotating cube is a porting from MFC.
-
Spectrum, in this sample a
selected earthquake is applied to a mass which is connected to a
spring and damper. The response of system during excitation is
calculated using classic equations of structural dynamics. Both
earthquake and 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, so I prevent 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.
|
-
Gradient Demo,
this example
demonstrates how to use custom painting or alternately the new API
function, GradientFill to fill rectangles with colors that vary
horizontally or vertically from one specified color to the other.
-
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 marvelous example demonstrates how to apply various effects to
a given picture. I should confess that it is an attractive work.
-
WM_NC_Demo, this is another and
as usual attractive example by Sebastian that demonstrates how to
use custom painting in non-client area of a window using OWL/OWLNext
framework. Enjoy the beauty and artistic sense used in this example.
-
OWL Player, this example
demonstrates how to create non-rectangular windows using OWL/OWLNext.
Sebastian continues to inevitably arouse our sense of praise with
the state-of-the-art works that are exclusive to him. Enjoy the
tricks and tweaks used in this example.
Last Updated: 10/18/2009 |