Windows Eiffel Library (WEL) ISE, Inc. ---------------------------- What is WEL? ------------ The new Windows Eiffel Library (WEL), which has been designed to make Windows programming easier, more reliable, more convenient, and more powerful. The most obvious definition of WEL is that it is an encapsulation of Windows primitives, making it possible for users of Graphical Eiffel for Windows to have direct access to the Windows graphical API. But this is only part of the truth. WEL provides considerable benefits of its own: the ability to work in a much simpler, move convenient and safer way than if you were using the Windows primitives directly, for example from C. This advantage comes from the abstraction facilities of Eiffel, which make it possible to encapsulate many low-level details so that developers can concentrate on the functionality, not implementation requirements. So even for specific and OS-dependent tasks such as using a particular graphical API, the benefits of the Eiffel method and of reusable Eiffel components will show up quickly. What's new? ----------- o WEL is not compatible with Windows 3.x any more. Only Windows 95 and Windows NT are now supported. That's why the `Win32' cluster has been removed. The Windows 95/NT controls are now merged in the `Controls' cluster. o New Windows 95/NT classes WEL provides new Windows 95/NT-specific classes. To use them, you need a recent common controls header file (commctrl.h) provided with Microsoft Visual C++ 4.1 and Borland C++ 4.52. See example `Comctrls'. o New command model WEL provides a new command model (EiffelVision-like). See example `Commands'. o New H2E utility The interface has been improved, it's easier than ever to use it. o New WEL tutorial A tutorial to learn WEL step by step. See directory $ISE_EIFFEL\examples\wel\tutorial. This tutorial is also available on our WEB site at: http://www.eiffel.com/doc/manuals/technology/wel/tutorial/index.html o New WEL reference manual This manual describes all the WEL classes (description, interface, example). o New WEL Examples `Timer', `Fontenum', `Stddlgs', `Comctrls', `Magnify', `Richedit', `Commands'. Important note for WEL 1.x users -------------------------------- If you use `default_process_message' to process Wm_notify message, you have to use now `on_notify'. What WEL does not include yet? ------------------------------ o Some Windows 95 common controls: Animation Controls, Drag List Boxes, Header Controls, Hot-Key Controls, Image Lists, List View Controls, Property Sheets. o Find and replace common dialog box. Resource file ------------- The resource file name must have the same name as the system name specified in the Ace file. When you change the resource file (.RC), you have to freeze the system in order to recompile the resource file and see the effect. A quicker way consists of running the make utility (`make' for Borland or `nmake' for Microsoft) in .\EIFGEN\W_CODE. But first, make sure to delete the .RES file. If you have created a resource file using Microsoft Developer Studio, you will probably need to change the file $ISE_EIFFEL\studio\spec\windows\config\msc\config.eif. Retrieve the following portion of text: ------------- $appl.res: $appl.rc working.ico $appl.ico Makefile appl.ico if exist ..\..\*.ico xcopy ..\..\*.ico . if exist ..\..\*.cur xcopy ..\..\*.cur . if exist ..\..\*.bmp xcopy ..\..\*.bmp . if exist ..\..\*.h xcopy ..\..\*.h . rc -I..\.. -r $appl.rc ------------- and modify the last line by: rc -i..\.. -ic:\msdev\mfc\include -r $appl.rc H2E utility ----------- H2E is a convenient tool to generate an Eiffel class which contains resource identifiers. The program and the documentation are in $ISE_EIFFEL\util. The source code is in $ISE_EIFFEL\library\wel\extra. The WEL C library ----------------- `wel.lib' contains some C-functions needed by WEL. If you need to recompile this library read the file $ISE_EIFFEL\library\wel\clib\readme.txt. Examples -------- WEL includes a few examples (Eiffel classes and an executable) which are: o Minimal: The minimal WEL program (in terms of lines of code able to create a Windows application). o Hello: The famous ``Hello, World!'' program in WEL. o XY: A simple program that shows the coordinates of the mouse when the button is pressed. o Menus: This example illustrates dynamic creation of menus and track popup menus. o Cursors: This example demonstrates how to change the cursor. o MDI: A basic Muliple Document Interface application. o Controls: This example demontrates several Windows controls. o Fun: Some funny stuff using the GDI classes of WEL. o Pizza: Order your pizza with WEL. o Brushes: A nice example to illustrate the brushes. o Bmpview: A MDI bitmap file viewer (16-color bitmaps only). o Windows: Shows the different kind of windows. o Printer: A simple example to print a page. o Xcell: A pretty nice card game. o Stddlgs: Shows all the standard dialog boxes available. o Comctrls: Shows the new Windows 95/NT common controls supported by WEL. o Fontenum: Demonstrates the font enumeration capability. o Timer: Shows how to use Windows timers. o Magnify: Tool to magnify a part of your screen. o Richedit: A small word processor based on the rich edit control. o Commands: Demonstrates the new command model of WEL. Enjoy! -- The WEL team