I've such a patience!...

dCWindow Class Library

by Rui Capela

January 19, 1996

The dCWindow class library takes yet another object-oriented approach to WindowsTM programming. It doesn't compete with serious application frameworks like Microsoft's MFC or Borland's OWL, but it was part of my learning curve to the exciting world of Windows API. If its not so exciting to you I'll surely understand. As a serious software developer, it was just a logical step (in fact, I took it very seriously!).

All this work has began on early 90's and have been progressively refined since then. The Win32 portability was only achieved on the second quarter of 1995, just enough to take the Windows 95 launch.

Here are some advantages of using a framework like dCWindow, in building Windows applications:

  • programs are fairly simpler and easier to write.
  • increased program reliability.
  • reduced development time by code reusability.
  • portability across platforms (currently only Windows 3.x and Win32).
  • complete source level control (there's only the Windows API level under it)

however, this last one only works for myself, but it has been revealed of an huge importance.

The following source code demonstrates the implementation of a simple window using the dCWindow framework. It is just an example of the GENERIC application as described in the Microsoft Software Development Kit. It just creates an overlapped window that does simply nothing unless showing itself to the world. The same program using the raw SDK could take over more than 50 lines of code (excluding comments and blank lines).

//  GENERIC.CPP

#include "dCWindow.h"

// The Generic window class declaration;
// it is derived (inherits) from an abstract class called dCForm
// which stands for any non-child overlapped window.

class Generic : public dCForm
{
public:
    // Window constructor; its caption will be the application name.
    Generic() { create(dCApplication::name()); }
};

//  WinMain - The formal Windows entry point.
int PASCAL WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpszCmdLine, int nCmdShow )
{
    // Create this application instance...
    dCApplication appl(hInstance, hPrevInstance, lpszCmdLine, nCmdShow);
    // Give a name to this application.
    appl.name("GENERIC");
    // Create the main window (see constructor) 
    // and start processing messages from Windows...
    return appl.start(&Generic());
}

// end of GENERIC.CPP
At Work...
I'm still working on it!...

Mail me! Please send back any suggestions or comments.

Above Destruction!

Please note that this is one of my early attempts to produce a web page, just a glimpse from myself to the world. This is in constant destruction and it will be a new tiny world for you to explore.

This web has been last updated on September 29, 1996, and brought to reality thanks to CompuServe.

http://ourworld.compuserve.com/homepages/rncbc/dCWin1.htm
Go rncbc Home Page!
Home sweet home...

Sign Guestbook! Yahoo Search!