This is a Windows Application Framework to develop Win32 based windows application
Objective
When I was interested in windows programming in 1993, I used OWL1.0(Object Windows Library from Borland). After short time I used the library, I got interested in how these library is implemented. I studied how to implement event-driven mechanism into C++ class library. At the same time I felt there are many inconvenience in C++. So I designed some classes such as string, file I/O, container, process/thread, etc. The "KWLib" is a summarization of my classes.
I have been developing this library for many years in my spare time. All of my software are developed using this library.
The reasons why I developed this class library from scratch are as follow:
-
To study mechanism of framework class library.
-
To experiment various implementation method.
-
To experiment various user interfaces.
-
To study various algorithms.
Structure
Components
The latest version is kwlib3f-Feb09-2002, which has about 200KLOC (200000 lines of code).
The KWLib is consists of such components as follows:
-
Classes to extend C++
-
KStr: String Class
-
Container Classes
-
FunctionClasses
-
Numerical Computation
-
Multiple-Precision Arithmetic.
-
Process and Thread control
-
KProcess, KThread, KMutex
-
Scripting Engine (KWLib-sh)
-
Classes to develop windows application
-
Windows Class
-
Window's objects (GDI,DIB,etc.)
-
GUI Objects
-
KWLib-GUI Widgets (Button, Menu, Scrollbar, etc.)
These controls are not wrapper class of existing window's class, but my original controls created from scratch. The reason why I developed them from scratch is to experiment various user interface requirement, which is beyond just modification of existing controls.
-
Print/Preview Component
-
UI Description Language
-
Menu/Toolbar definition
-
Dialog definition
-
Classes expanding the ability of KWLib
-
Image manipulation Class
-
3D-Graphics Engine (KWLib-3D)