Writing GUI code for Microsoft Windows really makes you appreciate the clarity in the design of openGL. The structure of openGL is logical. The openGL functions reference the graphics elements that make up graphic objects (e.g., lines, polygons, etc...). The operations in openGL are operations on graphics objects (e.g., rotation, clipping, shading, lighting). With the exception of the event/message processing, Windows code is an arbitrary collection of calls to set up the window, set up the palette and draw the graphic object.
Learning to write programs that have a Windows GUI is a bit like learning a new language. All the terms seem very arbitrary and confusing at first. Microsoft has put a fair amount of work into making Windows programming more manageable. The Microsoft Foundation Class library hides the low level Windows setup and provides a lot of the code needed to create GUI objects like the Windows file browser dialog. Microsoft Visual C++ provides a tool called the "application wizard" which builds the basic Foundation Class framework for the application. Visual C++ also integrates tools to create and edit menu items. These menus items can then be connected to Windows messages and associated with class functions using the "class wizard".
There are lots of books out on Windows programming. The two books that I found useful are:
I hate to put more money in The Dark Lord's pocket, but the other thing that you need, if you are serious about writing code for Windows, Windows 95 or Windows NT is the Microsoft Developer Network Library. This is a two CD-ROM set that is shipped four times a year that contains documentation, sample code and articles on various aspects of programming on Windows 95 and Windows NT. This documentation comes with a search engine, which I have found to be invaluable in finding information. I subscribe to what they refer to as the Microsoft Developer Network level 2 membership, that includes the Developer Library and the latest Software Development Kits and operating system releases. The Microsoft Web page should have information on ordering the Developer Network CD-ROMs.
back to Win32 Sierpinski page
back to home page