Arwen Win32 Library
NOTE: This is windows 32-bit only. For a 32/64bit, cross-platform library see pGUI
Moving between Controls (using TAB)
Dib sections & Bitmaps
DibSection Library for Arwen
Icons & Cursors
To do list..
Several groups of global atoms are visible to the application program:
1) All the Win32 constants that have been defined in the include files
2) Constant names of all the linked Win32 functions - perhaps you may wish to directly call a Win32 function, who knows?
void - Strictly speaking void is not
an atom; it is declared as a global object. Many library routines
will return some value but most of these can be ignored.
is a convenient variable to
assign the return value. It will save having to create yet
another scratch variable. Just be careful that you are not
tempted to read the value assigned to void since it is being
4) UNDEFINED - This a flag used to represent an undefined state for some of the vasriables used in the library. You would use it to dis-associate controls from their handlers.
5) IDLE - Used to enable a routine to run continuously (looping).
6) True & False - Boolean values as expected. Please note that Win32 functions do not always represent failure as 0 or success as 1, however, many functions in arwen do return boolean values to indicate the outcome. Please consult the documentation for specific details.
7) CLIPBOARD - Used to access the clipboard text functions when invoking getText() or setText().
THINGS THAT STILL NEED TO BE DONE..
Flat tool bar support
finish Menu support (bitmaps..other?)
emulate modality *fully*
some graphic primitives
improve intuitiveness for activating a TabItem and retrieving the open tab
must invalidate the rect that covers the main window when another window is closed. Could use MapWindowPoints() then RedrawWindow()
tidy up DC arrangement - does it need it?
purge the memory allocation code (in arwen.ew) so that buffer overflows can be prevented
finish adding image lists - make separate include file make icon/bitmap references as indexes rather than handles in control creation but bitmaps can be handles otherwise. Ensure the imagelists are destroyed as appropriate Perhaps have some default icons in the base imagelists....
destroy() should properly deal with all parent controls and their children - in particular Windows & toolbars
1) If a handler routine for a Status Bar invokes setText() to draw some text on itself and the call is "inlined" (ie, not part of a message trap) then a fatal error occurs. This does not happen with other controls I tested. I think the reason is that when setText() is invoked it sends a message to the Status bar handler which means the handler indirectly calls itself in this situation.