[comp.windows.ms] commonview users wanted

tom@runxtsa.runx.oz.au (Thomas Antalffy) (01/08/90)

I would be interested in sharing experiences with other people out there who
are using Glockenspiel's CommonView to write MS Windows applications.

Please send mail to me to discuss what problems (or solutions) you have.
I would most welcome chunks of example code, since CommonView comes with a
few examples only; my major interest being data I/O from fields.

In the case of adequate interest, I am more than happy to summarize results.

Regards, Thomas.

tom@runxtsa.runx.oz.au (Thomas Antalffy) (01/12/90)

Commonview is an Object Oriented library for C++ applications interface with MS
Windows or PM. It is a part of the Glockenspiel C++ Compiler package. The CV 
organises most of the 450 MS Windows functions into about 30 classes. I hoped 
it would help us to write a Window application more easily than to go at MS 
Windows functions directly. In fact, it may be not true.  

Comments.

1. Assumed knowledge for understanding the CV is the MS Windows programming. 
You cannot have the short cut way to learn the CV without learning the MS 
Windows. The CV documentation is too condensed for the beginner.

2. The main problem I encounter with CV is the poor documentation

Some Examples.

2.1  All the Event Handlers in the Window classes have the return value (long). 
It does not explain what it is used for. If you overload those Event Handlers, 
you do not know what you should return. In the example programs, it usually 
returns TRUE. Why ?

2.2 In the DialogWindow class, before Show() is executed, the WindowInit() is 
implicitly executed. But, this is not the case for other Window classes. I 
found this by chance.

2.3 Why must Controls be created in the WindowInit() for the DialogWindow ? 
It means that they are created whenever we want to Show() the DialogWindow, 
therefore,  we have to control their deletion (I put the delete's  after 
EndDlg() ). Why can they not be created in the Constructor of  DialogWindow, 
and delete them in the Destructor ? 

If we create the Controls in the Constructor, the GetText(), SetText() of the 
Control classes, will not work.  Why ?

3. All CV examples are compiled and work perfectly. But we need some examples 
like basic Input Output screen processing : A DialogWindow or AppWindow which 
has some Controls (Title, Name, Address, etc.); Some postfuncs to validate each 
individual Control right after the user finishes that Control  Input (physical 
validation), and logical validation before accepting all the input values when 
the user  finishes the whole input screen (press OK or Cancell button).

3. If all Controls cannot fit in the window, we would like to have the Scroll 
mechanism (HorizScrollBar or VertScrollBar).

4. We also try to achieve the Dynamic Screen handling :  the number of Controls 
can be added, deleted, moved, to the Window on the fly, and the Window scrolls 
if they cannot fit in.

5.  How does the CV application can call MS Windows functions directly ?  In 
the CV manual, it says that some CV classes provide the Handle, so that we 
can communicate with MS Windows directly. But we do not know how. In one of 
our CV program, we call ScrollWindow() of the MS Windows, but the Link4 cannot 
find it.

Thank you for any help ...
Chi Nguyen.