Glenn (et alia);

I'm really sorry about the delay. However, you have an excellent point. If I'm 
going to say something, prove it (if possible, otherwise drink lots and lots of 
beer). Having said this, I did construct a test to show timing, results below, 
code included as an attachment.

I tried to make the test fair and simple to understand. There are 791,998 
iterations in each test loop (2000 * # items to be searched).

The Amortized Cost search iterates over each item that can be searched 2000 
times.

The Minimum Cost search iterates over the search item requiring the minimum 
number of probes 791,998 times. In the existing algorithm this is the first 
item in the search ladder. In the new algorithm it is approximately midway in 
the search table.

The Maximum Cost search iterats over the item requiring the maximum number of 
probes 791,998 times. In the existing algorithm that appears to be the last 
item in the search ladder of names that begin with 'W'. In the new algorithm it 
is the first item in the list (I hope).

The Random Cost search selects 791,998 random numbers (using rand % # items to 
be searched). The same random sequence is used for both algorithms. 

The only item in which the existing algorithm proves faster is in the minimum 
search. The setup time for a binary search is probably the factor which 
produces the time difference. I would expect that the first several items (min 
search + k items) to be faster in the existing algorithm, where 'k' is probably 
a fairly small number, but this would have to be checked.

The speedup in all but the Minimum Cost case varies from 35% to 40% of 
execution time in comparison to the existing algorithm (2 1/2 times to about 3 
times faster).

I don't believe that the case for the new algorithm is closed, but I do believe 
that without retailoring of the existing algorithm it will always prove faster. 
The tailoring would have to be done based on the statistical nature of input, 
the more frequently accessed items would have to be searched for first so the 
the time bias occurs at the low end of the scale. The limiting condition in 
comparison of the two algorithms would be 'k' above. The existing algorithm is 
faster than the new algorithm for all searches of depth less than or equal to 
k. If a statiscial analysis of use can reorganize the table so that a for no 
more than 'k' items the weighted search is less than the binary search, then 
for these items there is a clear win. However, reorganizing the table from its 
existing structure adds probe depth to all items not in the 'k' set. This 
requires that the weights for the 'k' selected items needs be very high.

The test is included to allow detailed and critical analysis of the 
methodology. If the methodology is flawed or the test biased, then it must 
certainly be modified. I tried to arrange the testing so that in all cases the 
non-productive overhead was the same. This is clearly not true for the Random 
Cost analysis, but the change in overhead is no better for analysing the 
existing algorithm than the new algorithm.

Two side notes:
1. My initial search algorithm was (seriously) flawed. I
   code in Ada at work and there was some dialectic 
   confusion when I translated the code to 'C'. Sigh.
2. The existing algorithm (by Glenn's statement) is a 
   novel refactoring of the concept of hashing. I don't
   know that I agree with his statement (and please, 
   this is a critical comment and NOT an attack).

art

  Test Name     Count     New       Old
Amortized Cost <791998, 0.219000, 0.547000> search 2000 times/item
Minimum Cost   <791998, 0.032000, 0.015000> search 791,988 times/min search item
Maximum Cost   <791998, 0.172000, 0.484000> search 791,988 times/max search item
Random  Cost   <791998, 0.234000, 0.594000> table[0..791,997] = random #

 -------------- Original message ----------------------
From: Glenn Linderman <[EMAIL PROTECTED]>
> On approximately 8/14/2005 11:02 PM, came the following characters from 
> the keyboard of [EMAIL PROTECTED]:
> > Robert;
> > 
> > I noticed that in GUI_Constants TMP_NONOTIFY != TPM_NONOTIFY in GUI.pm. 
> > Error?
> 
> Yes, that is a bug.
> 
> > In trying to find out things so that I don't ask too many dumb questions, I 
> looked at GUI_Constants and noticed that the search algorithm seems to be 
> very 
> slow. Here is one that I believe is faster (as an attachment). The code 
> reorganization uses compile time constants (and arrays) to facilitate 
> run-time 
> searches. Adding a new entry consists of modifying the 'enum' and inserting 
> the 
> new entry in sort order into the aWinOption array.
> > 
> > In particular, there are 366 entries in the search space. A binary search 
> requires (at most) 9 probes for success and 10 probes for failure. This seems 
> better than the existing algorithm. What do you think?
> > 
> > The only thing that could be faster is a hash table. If you think it 
> worthwhile I'll try to generate one.
> 
> The funny case/compare coding in GUI_Constants.cpp _is_ a hash table, 
> hash function is first character of string.  Please benchmark anything 
> that you think is faster.
> 
> > I'm trying to find:
> >   "-addstyle", and
> >   "-onTerminate".
> > 
> > As a general answer, where should I look to find what these are?
> 
> This was answered.  But I might add, grep is your friend :)
> 
> > art
> 
> -- 
> Glenn -- http://nevcal.com/
> ===========================
> Having identified a vast realm of ignorance, Wolfram is saying that much
> of this realm lies forever outside the light cone of human knowledge.
>                            -- Michael Swaine, Dr Dobbs Journal, Sept 2002


Attachment: main.cpp
Description: Binary data

#include "test.h"

#define BS_3STATE                      eBS_3STATE
#define BS_AUTO3STATE                  eBS_AUTO3STATE
#define BS_AUTOCHECKBOX                eBS_AUTOCHECKBOX
#define BS_AUTORADIOBUTTON             eBS_AUTORADIOBUTTON
#define BS_BITMAP                      eBS_BITMAP
#define BS_BOTTOM                      eBS_BOTTOM
#define BS_CENTER                      eBS_CENTER
#define BS_CHECKBOX                    eBS_CHECKBOX
#define BS_DEFPUSHBUTTON               eBS_DEFPUSHBUTTON
#define BS_GROUPBOX                    eBS_GROUPBOX
#define BS_ICON                        eBS_ICON
#define BS_LEFT                        eBS_LEFT
#define BS_LEFTTEXT                    eBS_LEFTTEXT
#define BS_MULTILINE                   eBS_MULTILINE
#define BS_NOTIFY                      eBS_NOTIFY
#define BS_OWNERDRAW                   eBS_OWNERDRAW
#define BS_PUSHBUTTON                  eBS_PUSHBUTTON
#define BS_RADIOBUTTON                 eBS_RADIOBUTTON
#define BS_RIGHT                       eBS_RIGHT
#define BS_RIGHTBUTTON                 eBS_RIGHTBUTTON
#define BS_TEXT                        eBS_TEXT
#define BS_TOP                         eBS_TOP
#define BS_USERBUTTON                  eBS_USERBUTTON
#define BS_VCENTER                     eBS_VCENTER
#define BTNS_AUTOSIZE                  eBTNS_AUTOSIZE
#define BTNS_BUTTON                    eBTNS_BUTTON
#define BTNS_CHECK                     eBTNS_CHECK
#define BTNS_CHECKGROUP                eBTNS_CHECKGROUP
#define BTNS_DROPDOWN                  eBTNS_DROPDOWN
#define BTNS_GROUP                     eBTNS_GROUP
#define BTNS_NOPREFIX                  eBTNS_NOPREFIX
#define BTNS_SEP                       eBTNS_SEP
#define BTNS_SHOWTEXT                  eBTNS_SHOWTEXT
#define BTNS_WHOLEDROPDOWN             eBTNS_WHOLEDROPDOWN
#define COLOR_3DFACE                   eCOLOR_3DFACE
#define COLOR_ACTIVEBORDER             eCOLOR_ACTIVEBORDER
#define COLOR_ACTIVECAPTION            eCOLOR_ACTIVECAPTION
#define COLOR_APPWORKSPACE             eCOLOR_APPWORKSPACE
#define COLOR_BACKGROUND               eCOLOR_BACKGROUND
#define COLOR_BTNFACE                  eCOLOR_BTNFACE
#define COLOR_BTNSHADOW                eCOLOR_BTNSHADOW
#define COLOR_BTNTEXT                  eCOLOR_BTNTEXT
#define COLOR_CAPTIONTEXT              eCOLOR_CAPTIONTEXT
#define COLOR_GRAYTEXT                 eCOLOR_GRAYTEXT
#define COLOR_HIGHLIGHT                eCOLOR_HIGHLIGHT
#define COLOR_HIGHLIGHTTEXT            eCOLOR_HIGHLIGHTTEXT
#define COLOR_INACTIVEBORDER           eCOLOR_INACTIVEBORDER
#define COLOR_INACTIVECAPTION          eCOLOR_INACTIVECAPTION
#define COLOR_MENU                     eCOLOR_MENU
#define COLOR_MENUTEXT                 eCOLOR_MENUTEXT
#define COLOR_SCROLLBAR                eCOLOR_SCROLLBAR
#define COLOR_WINDOW                   eCOLOR_WINDOW
#define COLOR_WINDOWFRAME              eCOLOR_WINDOWFRAME
#define COLOR_WINDOWTEXT               eCOLOR_WINDOWTEXT
#define DS_3DLOOK                      eDS_3DLOOK
#define DS_ABSALIGN                    eDS_ABSALIGN
#define DS_CENTER                      eDS_CENTER
#define DS_CENTERMOUSE                 eDS_CENTERMOUSE
#define DS_CONTEXTHELP                 eDS_CONTEXTHELP
#define DS_CONTROL                     eDS_CONTROL
#define DS_FIXEDSYS                    eDS_FIXEDSYS
#define DS_LOCALEDIT                   eDS_LOCALEDIT
#define DS_MODALFRAME                  eDS_MODALFRAME
#define DS_NOFAILCREATE                eDS_NOFAILCREATE
#define DS_NOIDLEMSG                   eDS_NOIDLEMSG
#define DS_RECURSE                     eDS_RECURSE
#define DS_SETFONT                     eDS_SETFONT
#define DS_SETFOREGROUND               eDS_SETFOREGROUND
#define DS_SYSMODAL                    eDS_SYSMODAL
#define DTS_APPCANPARSE                eDTS_APPCANPARSE
#define DTS_LONGDATEFORMAT             eDTS_LONGDATEFORMAT
#define DTS_RIGHTALIGN                 eDTS_RIGHTALIGN
#define DTS_SHORTDATEFORMAT            eDTS_SHORTDATEFORMAT
#define DTS_SHOWNONE                   eDTS_SHOWNONE
#define DTS_TIMEFORMAT                 eDTS_TIMEFORMAT
#define DTS_UPDOWN                     eDTS_UPDOWN
#define ES_AUTOHSCROLL                 eES_AUTOHSCROLL
#define ES_AUTOVSCROLL                 eES_AUTOVSCROLL
#define ES_CENTER                      eES_CENTER
#define ES_LEFT                        eES_LEFT
#define ES_LOWERCASE                   eES_LOWERCASE
#define ES_MULTILINE                   eES_MULTILINE
#define ES_NOHIDESEL                   eES_NOHIDESEL
#define ES_NUMBER                      eES_NUMBER
#define ES_OEMCONVERT                  eES_OEMCONVERT
#define ES_PASSWORD                    eES_PASSWORD
#define ES_READONLY                    eES_READONLY
#define ES_RIGHT                       eES_RIGHT
#define ES_UPPERCASE                   eES_UPPERCASE
#define ES_WANTRETURN                  eES_WANTRETURN
#define GW_CHILD                       eGW_CHILD
#define GW_HWNDFIRST                   eGW_HWNDFIRST
#define GW_HWNDLAST                    eGW_HWNDLAST
#define GW_HWNDNEXT                    eGW_HWNDNEXT
#define GW_HWNDPREV                    eGW_HWNDPREV
#define GW_OWNER                       eGW_OWNER
#define IDABORT                        eIDABORT
#define IDCANCEL                       eIDCANCEL
#define IDIGNORE                       eIDIGNORE
#define IDNO                           eIDNO
#define IDOK                           eIDOK
#define IDRETRY                        eIDRETRY
#define IDYES                          eIDYES
#define IMAGE_BITMAP                   eIMAGE_BITMAP
#define IMAGE_CURSOR                   eIMAGE_CURSOR
#define IMAGE_ICON                     eIMAGE_ICON
#define LR_COLOR                       eLR_COLOR
#define LR_COPYDELETEORG               eLR_COPYDELETEORG
#define LR_COPYFROMRESOURCE            eLR_COPYFROMRESOURCE
#define LR_COPYRETURNORG               eLR_COPYRETURNORG
#define LR_CREATEDIBSECTION            eLR_CREATEDIBSECTION
#define LR_DEFAULTCOLOR                eLR_DEFAULTCOLOR
#define LR_DEFAULTSIZE                 eLR_DEFAULTSIZE
#define LR_LOADFROMFILE                eLR_LOADFROMFILE
#define LR_LOADMAP3DCOLORS             eLR_LOADMAP3DCOLORS
#define LR_LOADTRANSPARENT             eLR_LOADTRANSPARENT
#define LR_MONOCHROME                  eLR_MONOCHROME
#define LR_SHARED                      eLR_SHARED
#define MB_ABORTRETRYIGNORE            eMB_ABORTRETRYIGNORE
#define MB_APPLMODAL                   eMB_APPLMODAL
#define MB_DEFAULT_DESKTOP_ONLY        eMB_DEFAULT_DESKTOP_ONLY
#define MB_DEFBUTTON1                  eMB_DEFBUTTON1
#define MB_DEFBUTTON2                  eMB_DEFBUTTON2
#define MB_DEFBUTTON3                  eMB_DEFBUTTON3
#define MB_DEFBUTTON4                  eMB_DEFBUTTON4
#define MB_HELP                        eMB_HELP
#define MB_ICONASTERISK                eMB_ICONASTERISK
#define MB_ICONERROR                   eMB_ICONERROR
#define MB_ICONEXCLAMATION             eMB_ICONEXCLAMATION
#define MB_ICONHAND                    eMB_ICONHAND
#define MB_ICONINFORMATION             eMB_ICONINFORMATION
#define MB_ICONQUESTION                eMB_ICONQUESTION
#define MB_ICONSTOP                    eMB_ICONSTOP
#define MB_ICONWARNING                 eMB_ICONWARNING
#define MB_OK                          eMB_OK
#define MB_OKCANCEL                    eMB_OKCANCEL
#define MB_RETRYCANCEL                 eMB_RETRYCANCEL
#define MB_RIGHT                       eMB_RIGHT
#define MB_RTLREADING                  eMB_RTLREADING
#define MB_SERVICE_NOTIFICATION        eMB_SERVICE_NOTIFICATION
#define MB_SERVICE_NOTIFICATION_NT3X   eMB_SERVICE_NOTIFICATION_NT3X
#define MB_SETFOREGROUND               eMB_SETFOREGROUND
#define MB_SYSTEMMODAL                 eMB_SYSTEMMODAL
#define MB_TASKMODAL                   eMB_TASKMODAL
#define MB_TOPMOST                     eMB_TOPMOST
#define MB_YESNO                       eMB_YESNO
#define MB_YESNOCANCEL                 eMB_YESNOCANCEL
#define MF_POPUP                       eMF_POPUP
#define MF_STRING                      eMF_STRING
#define RBBS_BREAK                     eRBBS_BREAK
#define RBBS_CHILDEDGE                 eRBBS_CHILDEDGE
#define RBBS_FIXEDBMP                  eRBBS_FIXEDBMP
#define RBBS_FIXEDSIZE                 eRBBS_FIXEDSIZE
#define RBBS_GRIPPERALWAYS             eRBBS_GRIPPERALWAYS
#define RBBS_HIDDEN                    eRBBS_HIDDEN
#define RBBS_NOGRIPPER                 eRBBS_NOGRIPPER
#define RBBS_NOVERT                    eRBBS_NOVERT
#define RBBS_VARIABLEHEIGHT            eRBBS_VARIABLEHEIGHT
#define SBT_NOBORDERS                  eSBT_NOBORDERS
#define SBT_OWNERDRAW                  eSBT_OWNERDRAW
#define SBT_POPOUT                     eSBT_POPOUT
#define SBT_RTLREADING                 eSBT_RTLREADING
#define SB_BOTTOM                      eSB_BOTTOM
#define SB_ENDSCROLL                   eSB_ENDSCROLL
#define SB_LEFT                        eSB_LEFT
#define SB_LINEDOWN                    eSB_LINEDOWN
#define SB_LINELEFT                    eSB_LINELEFT
#define SB_LINERIGHT                   eSB_LINERIGHT
#define SB_LINEUP                      eSB_LINEUP
#define SB_PAGEDOWN                    eSB_PAGEDOWN
#define SB_PAGELEFT                    eSB_PAGELEFT
#define SB_PAGERIGHT                   eSB_PAGERIGHT
#define SB_PAGEUP                      eSB_PAGEUP
#define SB_RIGHT                       eSB_RIGHT
#define SB_THUMBPOSITION               eSB_THUMBPOSITION
#define SB_THUMBTRACK                  eSB_THUMBTRACK
#define SB_TOP                         eSB_TOP
#define SM_ARRANGE                     eSM_ARRANGE
#define SM_CLEANBOOT                   eSM_CLEANBOOT
#define SM_CMOUSEBUTTONS               eSM_CMOUSEBUTTONS
#define SM_CXBORDER                    eSM_CXBORDER
#define SM_CXCURSOR                    eSM_CXCURSOR
#define SM_CXDLGFRAME                  eSM_CXDLGFRAME
#define SM_CXDOUBLECLK                 eSM_CXDOUBLECLK
#define SM_CXDRAG                      eSM_CXDRAG
#define SM_CXEDGE                      eSM_CXEDGE
#define SM_CXFIXEDFRAME                eSM_CXFIXEDFRAME
#define SM_CXFRAME                     eSM_CXFRAME
#define SM_CXFULLSCREEN                eSM_CXFULLSCREEN
#define SM_CXHSCROLL                   eSM_CXHSCROLL
#define SM_CXHTHUMB                    eSM_CXHTHUMB
#define SM_CXICON                      eSM_CXICON
#define SM_CXICONSPACING               eSM_CXICONSPACING
#define SM_CXMAXIMIZED                 eSM_CXMAXIMIZED
#define SM_CXMAXTRACK                  eSM_CXMAXTRACK
#define SM_CXMENUCHECK                 eSM_CXMENUCHECK
#define SM_CXMENUSIZE                  eSM_CXMENUSIZE
#define SM_CXMIN                       eSM_CXMIN
#define SM_CXMINIMIZED                 eSM_CXMINIMIZED
#define SM_CXMINSPACING                eSM_CXMINSPACING
#define SM_CXMINTRACK                  eSM_CXMINTRACK
#define SM_CXSCREEN                    eSM_CXSCREEN
#define SM_CXSIZE                      eSM_CXSIZE
#define SM_CXSIZEFRAME                 eSM_CXSIZEFRAME
#define SM_CXSMICON                    eSM_CXSMICON
#define SM_CXSMSIZE                    eSM_CXSMSIZE
#define SM_CXVSCROLL                   eSM_CXVSCROLL
#define SM_CYBORDER                    eSM_CYBORDER
#define SM_CYCAPTION                   eSM_CYCAPTION
#define SM_CYCURSOR                    eSM_CYCURSOR
#define SM_CYDLGFRAME                  eSM_CYDLGFRAME
#define SM_CYDOUBLECLK                 eSM_CYDOUBLECLK
#define SM_CYDRAG                      eSM_CYDRAG
#define SM_CYEDGE                      eSM_CYEDGE
#define SM_CYFIXEDFRAME                eSM_CYFIXEDFRAME
#define SM_CYFRAME                     eSM_CYFRAME
#define SM_CYFULLSCREEN                eSM_CYFULLSCREEN
#define SM_CYHSCROLL                   eSM_CYHSCROLL
#define SM_CYICON                      eSM_CYICON
#define SM_CYICONSPACING               eSM_CYICONSPACING
#define SM_CYKANJIWINDOW               eSM_CYKANJIWINDOW
#define SM_CYMAXIMIZED                 eSM_CYMAXIMIZED
#define SM_CYMAXTRACK                  eSM_CYMAXTRACK
#define SM_CYMENU                      eSM_CYMENU
#define SM_CYMENUCHECK                 eSM_CYMENUCHECK
#define SM_CYMENUSIZE                  eSM_CYMENUSIZE
#define SM_CYMIN                       eSM_CYMIN
#define SM_CYMINIMIZED                 eSM_CYMINIMIZED
#define SM_CYMINSPACING                eSM_CYMINSPACING
#define SM_CYMINTRACK                  eSM_CYMINTRACK
#define SM_CYSCREEN                    eSM_CYSCREEN
#define SM_CYSIZE                      eSM_CYSIZE
#define SM_CYSIZEFRAME                 eSM_CYSIZEFRAME
#define SM_CYSMCAPTION                 eSM_CYSMCAPTION
#define SM_CYSMICON                    eSM_CYSMICON
#define SM_CYSMSIZE                    eSM_CYSMSIZE
#define SM_CYVSCROLL                   eSM_CYVSCROLL
#define SM_CYVTHUMB                    eSM_CYVTHUMB
#define SM_DBCSENABLED                 eSM_DBCSENABLED
#define SM_DEBUG                       eSM_DEBUG
#define SM_MENUDROPALIGNMENT           eSM_MENUDROPALIGNMENT
#define SM_MIDEASTENABLED              eSM_MIDEASTENABLED
#define SM_MOUSEPRESENT                eSM_MOUSEPRESENT
#define SM_MOUSEWHEELPRESENT           eSM_MOUSEWHEELPRESENT
#define SM_NETWORK                     eSM_NETWORK
#define SM_PENWINDOWS                  eSM_PENWINDOWS
#define SM_SECURE                      eSM_SECURE
#define SM_SHOWSOUNDS                  eSM_SHOWSOUNDS
#define SM_SLOWMACHINE                 eSM_SLOWMACHINE
#define SM_SWAPBUTTON                  eSM_SWAPBUTTON
#define TBSTATE_CHECKED                eTBSTATE_CHECKED
#define TBSTATE_ELLIPSES               eTBSTATE_ELLIPSES
#define TBSTATE_ENABLED                eTBSTATE_ENABLED
#define TBSTATE_HIDDEN                 eTBSTATE_HIDDEN
#define TBSTATE_INDETERMINATE          eTBSTATE_INDETERMINATE
#define TBSTATE_MARKED                 eTBSTATE_MARKED
#define TBSTATE_PRESSED                eTBSTATE_PRESSED
#define TBSTATE_WRAP                   eTBSTATE_WRAP
#define TBSTYLE_ALTDRAG                eTBSTYLE_ALTDRAG
#define TBSTYLE_AUTOSIZE               eTBSTYLE_AUTOSIZE
#define TBSTYLE_BUTTON                 eTBSTYLE_BUTTON
#define TBSTYLE_CHECK                  eTBSTYLE_CHECK
#define TBSTYLE_CHECKGROUP             eTBSTYLE_CHECKGROUP
#define TBSTYLE_CUSTOMERASE            eTBSTYLE_CUSTOMERASE
#define TBSTYLE_DROPDOWN               eTBSTYLE_DROPDOWN
#define TBSTYLE_EX_DRAWDDARROWS        eTBSTYLE_EX_DRAWDDARROWS
#define TBSTYLE_EX_HIDECLIPPEDBUTTONS  eTBSTYLE_EX_HIDECLIPPEDBUTTONS
#define TBSTYLE_EX_MIXEDBUTTONS        eTBSTYLE_EX_MIXEDBUTTONS
#define TBSTYLE_FLAT                   eTBSTYLE_FLAT
#define TBSTYLE_GROUP                  eTBSTYLE_GROUP
#define TBSTYLE_LIST                   eTBSTYLE_LIST
#define TBSTYLE_NOPREFIX               eTBSTYLE_NOPREFIX
#define TBSTYLE_REGISTERDROP           eTBSTYLE_REGISTERDROP
#define TBSTYLE_SEP                    eTBSTYLE_SEP
#define TBSTYLE_TOOLTIPS               eTBSTYLE_TOOLTIPS
#define TBSTYLE_TRANSPARENT            eTBSTYLE_TRANSPARENT
#define TBSTYLE_WRAPABLE               eTBSTYLE_WRAPABLE
#define TBTS_BOTTOM                    eTBTS_BOTTOM
#define TBTS_LEFT                      eTBTS_LEFT
#define TBTS_RIGHT                     eTBTS_RIGHT
#define TBTS_TOP                       eTBTS_TOP
#define TMP_NONOTIFY                   eTMP_NONOTIFY
#define TPM_BOTTOMALIGN                eTPM_BOTTOMALIGN
#define TPM_CENTERALIGN                eTPM_CENTERALIGN
#define TPM_HORIZONTAL                 eTPM_HORIZONTAL
#define TPM_LEFTALIGN                  eTPM_LEFTALIGN
#define TPM_LEFTBUTTON                 eTPM_LEFTBUTTON
#define TPM_RECURSE                    eTPM_RECURSE
#define TPM_RETURNCMD                  eTPM_RETURNCMD
#define TPM_RIGHTALIGN                 eTPM_RIGHTALIGN
#define TPM_RIGHTBUTTON                eTPM_RIGHTBUTTON
#define TPM_TOPALIGN                   eTPM_TOPALIGN
#define TPM_VCENTERALIGN               eTPM_VCENTERALIGN
#define TPM_VERTICAL                   eTPM_VERTICAL
#define TVGN_CARET                     eTVGN_CARET
#define TVGN_CHILD                     eTVGN_CHILD
#define TVGN_DROPHILITE                eTVGN_DROPHILITE
#define TVGN_FIRSTVISIBLE              eTVGN_FIRSTVISIBLE
#define TVGN_NEXT                      eTVGN_NEXT
#define TVGN_NEXTVISIBLE               eTVGN_NEXTVISIBLE
#define TVGN_PARENT                    eTVGN_PARENT
#define TVGN_PREVIOUS                  eTVGN_PREVIOUS
#define TVGN_PREVIOUSVISIBLE           eTVGN_PREVIOUSVISIBLE
#define TVGN_ROOT                      eTVGN_ROOT
#define WIN32__GUI__ANIMATION          eWIN32__GUI__ANIMATION
#define WIN32__GUI__BUTTON             eWIN32__GUI__BUTTON
#define WIN32__GUI__CHECKBOX           eWIN32__GUI__CHECKBOX
#define WIN32__GUI__COMBOBOX           eWIN32__GUI__COMBOBOX
#define WIN32__GUI__COMBOBOXEX         eWIN32__GUI__COMBOBOXEX
#define WIN32__GUI__DIALOG             eWIN32__GUI__DIALOG
#define WIN32__GUI__DTPICK             eWIN32__GUI__DTPICK
#define WIN32__GUI__EDIT               eWIN32__GUI__EDIT
#define WIN32__GUI__GRAPHIC            eWIN32__GUI__GRAPHIC
#define WIN32__GUI__GROUPBOX           eWIN32__GUI__GROUPBOX
#define WIN32__GUI__HEADER             eWIN32__GUI__HEADER
#define WIN32__GUI__LISTBOX            eWIN32__GUI__LISTBOX
#define WIN32__GUI__LISTVIEW           eWIN32__GUI__LISTVIEW
#define WIN32__GUI__MDICHILD           eWIN32__GUI__MDICHILD
#define WIN32__GUI__MDICLIENT          eWIN32__GUI__MDICLIENT
#define WIN32__GUI__MDIFRAME           eWIN32__GUI__MDIFRAME
#define WIN32__GUI__MONTHCAL           eWIN32__GUI__MONTHCAL
#define WIN32__GUI__PROGRESS           eWIN32__GUI__PROGRESS
#define WIN32__GUI__RADIOBUTTON        eWIN32__GUI__RADIOBUTTON
#define WIN32__GUI__REBAR              eWIN32__GUI__REBAR
#define WIN32__GUI__RICHEDIT           eWIN32__GUI__RICHEDIT
#define WIN32__GUI__SPLITTER           eWIN32__GUI__SPLITTER
#define WIN32__GUI__STATIC             eWIN32__GUI__STATIC
#define WIN32__GUI__STATUS             eWIN32__GUI__STATUS
#define WIN32__GUI__TAB                eWIN32__GUI__TAB
#define WIN32__GUI__TOOLBAR            eWIN32__GUI__TOOLBAR
#define WIN32__GUI__TOOLTIP            eWIN32__GUI__TOOLTIP
#define WIN32__GUI__TRACKBAR           eWIN32__GUI__TRACKBAR
#define WIN32__GUI__TREEVIEW           eWIN32__GUI__TREEVIEW
#define WIN32__GUI__UPDOWN             eWIN32__GUI__UPDOWN
#define WIN32__GUI__WINDOW             eWIN32__GUI__WINDOW
#define WM_ACTIVATE                    eWM_ACTIVATE
#define WM_COMMAND                     eWM_COMMAND
#define WM_CREATE                      eWM_CREATE
#define WM_DESTROY                     eWM_DESTROY
#define WM_ENABLE                      eWM_ENABLE
#define WM_KEYDOWN                     eWM_KEYDOWN
#define WM_KEYUP                       eWM_KEYUP
#define WM_KILLFOCUS                   eWM_KILLFOCUS
#define WM_MOVE                        eWM_MOVE
#define WM_SETCURSOR                   eWM_SETCURSOR
#define WM_SETFOCUS                    eWM_SETFOCUS
#define WM_SETREDRAW                   eWM_SETREDRAW
#define WM_SIZE                        eWM_SIZE
#define WS_BORDER                      eWS_BORDER
#define WS_CAPTION                     eWS_CAPTION
#define WS_CHILD                       eWS_CHILD
#define WS_CHILDWINDOW                 eWS_CHILDWINDOW
#define WS_CLIPCHILDREN                eWS_CLIPCHILDREN
#define WS_CLIPSIBLINGS                eWS_CLIPSIBLINGS
#define WS_DISABLED                    eWS_DISABLED
#define WS_DLGFRAME                    eWS_DLGFRAME
#define WS_EX_ACCEPTFILES              eWS_EX_ACCEPTFILES
#define WS_EX_APPWINDOW                eWS_EX_APPWINDOW
#define WS_EX_CLIENTEDGE               eWS_EX_CLIENTEDGE
#define WS_EX_CONTEXTHELP              eWS_EX_CONTEXTHELP
#define WS_EX_CONTROLPARENT            eWS_EX_CONTROLPARENT
#define WS_EX_DLGMODALFRAME            eWS_EX_DLGMODALFRAME
#define WS_EX_LEFT                     eWS_EX_LEFT
#define WS_EX_LEFTSCROLLBAR            eWS_EX_LEFTSCROLLBAR
#define WS_EX_LTRREADING               eWS_EX_LTRREADING
#define WS_EX_MDICHILD                 eWS_EX_MDICHILD
#define WS_EX_NOPARENTNOTIFY           eWS_EX_NOPARENTNOTIFY
#define WS_EX_OVERLAPPEDWINDOW         eWS_EX_OVERLAPPEDWINDOW
#define WS_EX_PALETTEWINDOW            eWS_EX_PALETTEWINDOW
#define WS_EX_RIGHT                    eWS_EX_RIGHT
#define WS_EX_RIGHTSCROLLBAR           eWS_EX_RIGHTSCROLLBAR
#define WS_EX_RTLREADING               eWS_EX_RTLREADING
#define WS_EX_STATICEDGE               eWS_EX_STATICEDGE
#define WS_EX_TOOLWINDOW               eWS_EX_TOOLWINDOW
#define WS_EX_TOPMOST                  eWS_EX_TOPMOST
#define WS_EX_TRANSPARENT              eWS_EX_TRANSPARENT
#define WS_EX_WINDOWEDGE               eWS_EX_WINDOWEDGE
#define WS_GROUP                       eWS_GROUP
#define WS_HSCROLL                     eWS_HSCROLL
#define WS_ICONIC                      eWS_ICONIC
#define WS_MAXIMIZE                    eWS_MAXIMIZE
#define WS_MAXIMIZEBOX                 eWS_MAXIMIZEBOX
#define WS_MINIMIZE                    eWS_MINIMIZE
#define WS_MINIMIZEBOX                 eWS_MINIMIZEBOX
#define WS_OVERLAPPED                  eWS_OVERLAPPED
#define WS_OVERLAPPEDWINDOW            eWS_OVERLAPPEDWINDOW
#define WS_POPUP                       eWS_POPUP
#define WS_POPUPWINDOW                 eWS_POPUPWINDOW
#define WS_SIZEBOX                     eWS_SIZEBOX
#define WS_SYSMENU                     eWS_SYSMENU
#define WS_TABSTOP                     eWS_TABSTOP
#define WS_THICKFRAME                  eWS_THICKFRAME
#define WS_TILED                       eWS_TILED
#define WS_TILEDWINDOW                 eWS_TILEDWINDOW
#define WS_VISIBLE                     eWS_VISIBLE
#define WS_VSCROLL                     eWS_VSCROLL
# ifndef ifdeftest
# define ifdeftest
  enum eWinOption {
              eBS_3STATE
          ,   eBS_AUTO3STATE
          ,   eBS_AUTOCHECKBOX
          ,   eBS_AUTORADIOBUTTON
          ,   eBS_BITMAP
          ,   eBS_BOTTOM
          ,   eBS_CENTER
          ,   eBS_CHECKBOX
          ,   eBS_DEFPUSHBUTTON
          ,   eBS_GROUPBOX
          ,   eBS_ICON
          ,   eBS_LEFT
          ,   eBS_LEFTTEXT
          ,   eBS_MULTILINE
          ,   eBS_NOTIFY
          ,   eBS_OWNERDRAW
          ,   eBS_PUSHBUTTON
          ,   eBS_RADIOBUTTON
          ,   eBS_RIGHT
          ,   eBS_RIGHTBUTTON
          ,   eBS_TEXT
          ,   eBS_TOP
          ,   eBS_USERBUTTON
          ,   eBS_VCENTER
          ,   eBTNS_AUTOSIZE
          ,   eBTNS_BUTTON
          ,   eBTNS_CHECK
          ,   eBTNS_CHECKGROUP
          ,   eBTNS_DROPDOWN
          ,   eBTNS_GROUP
          ,   eBTNS_NOPREFIX
          ,   eBTNS_SEP
          ,   eBTNS_SHOWTEXT
          ,   eBTNS_WHOLEDROPDOWN
          ,   eCOLOR_3DFACE
          ,   eCOLOR_ACTIVEBORDER
          ,   eCOLOR_ACTIVECAPTION
          ,   eCOLOR_APPWORKSPACE
          ,   eCOLOR_BACKGROUND
          ,   eCOLOR_BTNFACE
          ,   eCOLOR_BTNSHADOW
          ,   eCOLOR_BTNTEXT
          ,   eCOLOR_CAPTIONTEXT
          ,   eCOLOR_GRAYTEXT
          ,   eCOLOR_HIGHLIGHT
          ,   eCOLOR_HIGHLIGHTTEXT
          ,   eCOLOR_INACTIVEBORDER
          ,   eCOLOR_INACTIVECAPTION
          ,   eCOLOR_MENU
          ,   eCOLOR_MENUTEXT
          ,   eCOLOR_SCROLLBAR
          ,   eCOLOR_WINDOW
          ,   eCOLOR_WINDOWFRAME
          ,   eCOLOR_WINDOWTEXT
          ,   eDS_3DLOOK
          ,   eDS_ABSALIGN
          ,   eDS_CENTER
          ,   eDS_CENTERMOUSE
          ,   eDS_CONTEXTHELP
          ,   eDS_CONTROL
          ,   eDS_FIXEDSYS
          ,   eDS_LOCALEDIT
          ,   eDS_MODALFRAME
          ,   eDS_NOFAILCREATE
          ,   eDS_NOIDLEMSG
          ,   eDS_RECURSE
          ,   eDS_SETFONT
          ,   eDS_SETFOREGROUND
          ,   eDS_SYSMODAL
          ,   eDTS_APPCANPARSE
          ,   eDTS_LONGDATEFORMAT
          ,   eDTS_RIGHTALIGN
          ,   eDTS_SHORTDATEFORMAT
          ,   eDTS_SHOWNONE
          ,   eDTS_TIMEFORMAT
          ,   eDTS_UPDOWN
          ,   eES_AUTOHSCROLL
          ,   eES_AUTOVSCROLL
          ,   eES_CENTER
          ,   eES_LEFT
          ,   eES_LOWERCASE
          ,   eES_MULTILINE
          ,   eES_NOHIDESEL
          ,   eES_NUMBER
          ,   eES_OEMCONVERT
          ,   eES_PASSWORD
          ,   eES_READONLY
          ,   eES_RIGHT
          ,   eES_UPPERCASE
          ,   eES_WANTRETURN
          ,   eGW_CHILD
          ,   eGW_HWNDFIRST
          ,   eGW_HWNDLAST
          ,   eGW_HWNDNEXT
          ,   eGW_HWNDPREV
          ,   eGW_OWNER
          ,   eIDABORT
          ,   eIDCANCEL
          ,   eIDIGNORE
          ,   eIDNO
          ,   eIDOK
          ,   eIDRETRY
          ,   eIDYES
          ,   eIMAGE_BITMAP
          ,   eIMAGE_CURSOR
          ,   eIMAGE_ICON
          ,   eLR_COLOR
          ,   eLR_COPYDELETEORG
          ,   eLR_COPYFROMRESOURCE
          ,   eLR_COPYRETURNORG
          ,   eLR_CREATEDIBSECTION
          ,   eLR_DEFAULTCOLOR
          ,   eLR_DEFAULTSIZE
          ,   eLR_LOADFROMFILE
          ,   eLR_LOADMAP3DCOLORS
          ,   eLR_LOADTRANSPARENT
          ,   eLR_MONOCHROME
          ,   eLR_SHARED
          ,   eMB_ABORTRETRYIGNORE
          ,   eMB_APPLMODAL
          ,   eMB_DEFAULT_DESKTOP_ONLY
          ,   eMB_DEFBUTTON1
          ,   eMB_DEFBUTTON2
          ,   eMB_DEFBUTTON3
          ,   eMB_DEFBUTTON4
          ,   eMB_HELP
          ,   eMB_ICONASTERISK
          ,   eMB_ICONERROR
          ,   eMB_ICONEXCLAMATION
          ,   eMB_ICONHAND
          ,   eMB_ICONINFORMATION
          ,   eMB_ICONQUESTION
          ,   eMB_ICONSTOP
          ,   eMB_ICONWARNING
          ,   eMB_OK
          ,   eMB_OKCANCEL
          ,   eMB_RETRYCANCEL
          ,   eMB_RIGHT
          ,   eMB_RTLREADING
          ,   eMB_SERVICE_NOTIFICATION
          ,   eMB_SERVICE_NOTIFICATION_NT3X
          ,   eMB_SETFOREGROUND
          ,   eMB_SYSTEMMODAL
          ,   eMB_TASKMODAL
          ,   eMB_TOPMOST
          ,   eMB_YESNO
          ,   eMB_YESNOCANCEL
          ,   eMF_POPUP
          ,   eMF_STRING
          ,   eRBBS_BREAK
          ,   eRBBS_CHILDEDGE
          ,   eRBBS_FIXEDBMP
          ,   eRBBS_FIXEDSIZE
          ,   eRBBS_GRIPPERALWAYS
          ,   eRBBS_HIDDEN
          ,   eRBBS_NOGRIPPER
          ,   eRBBS_NOVERT
          ,   eRBBS_VARIABLEHEIGHT
          ,   eSBT_NOBORDERS
          ,   eSBT_OWNERDRAW
          ,   eSBT_POPOUT
          ,   eSBT_RTLREADING
          ,   eSB_BOTTOM
          ,   eSB_ENDSCROLL
          ,   eSB_LEFT
          ,   eSB_LINEDOWN
          ,   eSB_LINELEFT
          ,   eSB_LINERIGHT
          ,   eSB_LINEUP
          ,   eSB_PAGEDOWN
          ,   eSB_PAGELEFT
          ,   eSB_PAGERIGHT
          ,   eSB_PAGEUP
          ,   eSB_RIGHT
          ,   eSB_THUMBPOSITION
          ,   eSB_THUMBTRACK
          ,   eSB_TOP
          ,   eSM_ARRANGE
          ,   eSM_CLEANBOOT
          ,   eSM_CMOUSEBUTTONS
          ,   eSM_CXBORDER
          ,   eSM_CXCURSOR
          ,   eSM_CXDLGFRAME
          ,   eSM_CXDOUBLECLK
          ,   eSM_CXDRAG
          ,   eSM_CXEDGE
          ,   eSM_CXFIXEDFRAME
          ,   eSM_CXFRAME
          ,   eSM_CXFULLSCREEN
          ,   eSM_CXHSCROLL
          ,   eSM_CXHTHUMB
          ,   eSM_CXICON
          ,   eSM_CXICONSPACING
          ,   eSM_CXMAXIMIZED
          ,   eSM_CXMAXTRACK
          ,   eSM_CXMENUCHECK
          ,   eSM_CXMENUSIZE
          ,   eSM_CXMIN
          ,   eSM_CXMINIMIZED
          ,   eSM_CXMINSPACING
          ,   eSM_CXMINTRACK
          ,   eSM_CXSCREEN
          ,   eSM_CXSIZE
          ,   eSM_CXSIZEFRAME
          ,   eSM_CXSMICON
          ,   eSM_CXSMSIZE
          ,   eSM_CXVSCROLL
          ,   eSM_CYBORDER
          ,   eSM_CYCAPTION
          ,   eSM_CYCURSOR
          ,   eSM_CYDLGFRAME
          ,   eSM_CYDOUBLECLK
          ,   eSM_CYDRAG
          ,   eSM_CYEDGE
          ,   eSM_CYFIXEDFRAME
          ,   eSM_CYFRAME
          ,   eSM_CYFULLSCREEN
          ,   eSM_CYHSCROLL
          ,   eSM_CYICON
          ,   eSM_CYICONSPACING
          ,   eSM_CYKANJIWINDOW
          ,   eSM_CYMAXIMIZED
          ,   eSM_CYMAXTRACK
          ,   eSM_CYMENU
          ,   eSM_CYMENUCHECK
          ,   eSM_CYMENUSIZE
          ,   eSM_CYMIN
          ,   eSM_CYMINIMIZED
          ,   eSM_CYMINSPACING
          ,   eSM_CYMINTRACK
          ,   eSM_CYSCREEN
          ,   eSM_CYSIZE
          ,   eSM_CYSIZEFRAME
          ,   eSM_CYSMCAPTION
          ,   eSM_CYSMICON
          ,   eSM_CYSMSIZE
          ,   eSM_CYVSCROLL
          ,   eSM_CYVTHUMB
          ,   eSM_DBCSENABLED
          ,   eSM_DEBUG
          ,   eSM_MENUDROPALIGNMENT
          ,   eSM_MIDEASTENABLED
          ,   eSM_MOUSEPRESENT
          ,   eSM_MOUSEWHEELPRESENT
          ,   eSM_NETWORK
          ,   eSM_PENWINDOWS
          ,   eSM_SECURE
          ,   eSM_SHOWSOUNDS
          ,   eSM_SLOWMACHINE
          ,   eSM_SWAPBUTTON
          ,   eTBSTATE_CHECKED
          ,   eTBSTATE_ELLIPSES
          ,   eTBSTATE_ENABLED
          ,   eTBSTATE_HIDDEN
          ,   eTBSTATE_INDETERMINATE
          ,   eTBSTATE_MARKED
          ,   eTBSTATE_PRESSED
          ,   eTBSTATE_WRAP
          ,   eTBSTYLE_ALTDRAG
          ,   eTBSTYLE_AUTOSIZE
          ,   eTBSTYLE_BUTTON
          ,   eTBSTYLE_CHECK
          ,   eTBSTYLE_CHECKGROUP
          ,   eTBSTYLE_CUSTOMERASE
          ,   eTBSTYLE_DROPDOWN
          ,   eTBSTYLE_EX_DRAWDDARROWS
          ,   eTBSTYLE_EX_HIDECLIPPEDBUTTONS
          ,   eTBSTYLE_EX_MIXEDBUTTONS
          ,   eTBSTYLE_FLAT
          ,   eTBSTYLE_GROUP
          ,   eTBSTYLE_LIST
          ,   eTBSTYLE_NOPREFIX
          ,   eTBSTYLE_REGISTERDROP
          ,   eTBSTYLE_SEP
          ,   eTBSTYLE_TOOLTIPS
          ,   eTBSTYLE_TRANSPARENT
          ,   eTBSTYLE_WRAPABLE
          ,   eTBTS_BOTTOM
          ,   eTBTS_LEFT
          ,   eTBTS_RIGHT
          ,   eTBTS_TOP
          ,   eTMP_NONOTIFY
          ,   eTPM_BOTTOMALIGN
          ,   eTPM_CENTERALIGN
          ,   eTPM_HORIZONTAL
          ,   eTPM_LEFTALIGN
          ,   eTPM_LEFTBUTTON
          ,   eTPM_RECURSE
          ,   eTPM_RETURNCMD
          ,   eTPM_RIGHTALIGN
          ,   eTPM_RIGHTBUTTON
          ,   eTPM_TOPALIGN
          ,   eTPM_VCENTERALIGN
          ,   eTPM_VERTICAL
          ,   eTVGN_CARET
          ,   eTVGN_CHILD
          ,   eTVGN_DROPHILITE
          ,   eTVGN_FIRSTVISIBLE
          ,   eTVGN_NEXT
          ,   eTVGN_NEXTVISIBLE
          ,   eTVGN_PARENT
          ,   eTVGN_PREVIOUS
          ,   eTVGN_PREVIOUSVISIBLE
          ,   eTVGN_ROOT
          ,   eWM_ACTIVATE
          ,   eWM_COMMAND
          ,   eWM_CREATE
          ,   eWM_DESTROY
          ,   eWM_ENABLE
          ,   eWM_KEYDOWN
          ,   eWM_KEYUP
          ,   eWM_KILLFOCUS
          ,   eWM_MOVE
          ,   eWM_SETCURSOR
          ,   eWM_SETFOCUS
          ,   eWM_SETREDRAW
          ,   eWM_SIZE
          ,   eWS_BORDER
          ,   eWS_CAPTION
          ,   eWS_CHILD
          ,   eWS_CHILDWINDOW
          ,   eWS_CLIPCHILDREN
          ,   eWS_CLIPSIBLINGS
          ,   eWS_DISABLED
          ,   eWS_DLGFRAME
          ,   eWS_EX_ACCEPTFILES
          ,   eWS_EX_APPWINDOW
          ,   eWS_EX_CLIENTEDGE
          ,   eWS_EX_CONTEXTHELP
          ,   eWS_EX_CONTROLPARENT
          ,   eWS_EX_DLGMODALFRAME
          ,   eWS_EX_LEFT
          ,   eWS_EX_LEFTSCROLLBAR
          ,   eWS_EX_LTRREADING
          ,   eWS_EX_MDICHILD
          ,   eWS_EX_NOPARENTNOTIFY
          ,   eWS_EX_OVERLAPPEDWINDOW
          ,   eWS_EX_PALETTEWINDOW
          ,   eWS_EX_RIGHT
          ,   eWS_EX_RIGHTSCROLLBAR
          ,   eWS_EX_RTLREADING
          ,   eWS_EX_STATICEDGE
          ,   eWS_EX_TOOLWINDOW
          ,   eWS_EX_TOPMOST
          ,   eWS_EX_TRANSPARENT
          ,   eWS_EX_WINDOWEDGE
          ,   eWS_GROUP
          ,   eWS_HSCROLL
          ,   eWS_ICONIC
          ,   eWS_MAXIMIZE
          ,   eWS_MAXIMIZEBOX
          ,   eWS_MINIMIZE
          ,   eWS_MINIMIZEBOX
          ,   eWS_OVERLAPPED
          ,   eWS_OVERLAPPEDWINDOW
          ,   eWS_POPUP
          ,   eWS_POPUPWINDOW
          ,   eWS_SIZEBOX
          ,   eWS_SYSMENU
          ,   eWS_TABSTOP
          ,   eWS_THICKFRAME
          ,   eWS_TILED
          ,   eWS_TILEDWINDOW
          ,   eWS_VISIBLE
          ,   eWS_VSCROLL
          ,   eWIN32__GUI__ANIMATION
          ,   eWIN32__GUI__BUTTON
          ,   eWIN32__GUI__CHECKBOX
          ,   eWIN32__GUI__COMBOBOX
          ,   eWIN32__GUI__COMBOBOXEX
          ,   eWIN32__GUI__DIALOG
          ,   eWIN32__GUI__DTPICK
          ,   eWIN32__GUI__EDIT
          ,   eWIN32__GUI__GRAPHIC
          ,   eWIN32__GUI__GROUPBOX
          ,   eWIN32__GUI__HEADER
          ,   eWIN32__GUI__LISTBOX
          ,   eWIN32__GUI__LISTVIEW
          ,   eWIN32__GUI__MDICHILD
          ,   eWIN32__GUI__MDICLIENT
          ,   eWIN32__GUI__MDIFRAME
          ,   eWIN32__GUI__MONTHCAL
          ,   eWIN32__GUI__PROGRESS
          ,   eWIN32__GUI__RADIOBUTTON
          ,   eWIN32__GUI__REBAR
          ,   eWIN32__GUI__RICHEDIT
          ,   eWIN32__GUI__SPLITTER
          ,   eWIN32__GUI__STATIC
          ,   eWIN32__GUI__STATUS
          ,   eWIN32__GUI__TAB
          ,   eWIN32__GUI__TOOLBAR
          ,   eWIN32__GUI__TOOLTIP
          ,   eWIN32__GUI__TRACKBAR
          ,   eWIN32__GUI__TREEVIEW
          ,   eWIN32__GUI__UPDOWN
          ,   eWIN32__GUI__WINDOW
          ,   ENOENT
          ,   EINVAL
  }; // eWinOptions

  struct sWinOptions {
    char       * sOption;  // string representing option
    eWinOption   eOption;  // internal value for option
  };  // sWinOptions

  static sWinOptions aWinOptions[] = 
                               { //sOption                          eOption
                               { "BS_3STATE"                    ,  eBS_3STATE }
                            ,  { "BS_AUTO3STATE"                ,  
eBS_AUTO3STATE }
                            ,  { "BS_AUTOCHECKBOX"              ,  
eBS_AUTOCHECKBOX }
                            ,  { "BS_AUTORADIOBUTTON"           ,  
eBS_AUTORADIOBUTTON }
                            ,  { "BS_BITMAP"                    ,  eBS_BITMAP }
                            ,  { "BS_BOTTOM"                    ,  eBS_BOTTOM }
                            ,  { "BS_CENTER"                    ,  eBS_CENTER }
                            ,  { "BS_CHECKBOX"                  ,  eBS_CHECKBOX 
}
                            ,  { "BS_DEFPUSHBUTTON"             ,  
eBS_DEFPUSHBUTTON }
                            ,  { "BS_GROUPBOX"                  ,  eBS_GROUPBOX 
}
                            ,  { "BS_ICON"                      ,  eBS_ICON }
                            ,  { "BS_LEFT"                      ,  eBS_LEFT }
                            ,  { "BS_LEFTTEXT"                  ,  eBS_LEFTTEXT 
}
                            ,  { "BS_MULTILINE"                 ,  
eBS_MULTILINE }
                            ,  { "BS_NOTIFY"                    ,  eBS_NOTIFY }
                            ,  { "BS_OWNERDRAW"                 ,  
eBS_OWNERDRAW }
                            ,  { "BS_PUSHBUTTON"                ,  
eBS_PUSHBUTTON }
                            ,  { "BS_RADIOBUTTON"               ,  
eBS_RADIOBUTTON }
                            ,  { "BS_RIGHT"                     ,  eBS_RIGHT }
                            ,  { "BS_RIGHTBUTTON"               ,  
eBS_RIGHTBUTTON }
                            ,  { "BS_TEXT"                      ,  eBS_TEXT }
                            ,  { "BS_TOP"                       ,  eBS_TOP }
                            ,  { "BS_USERBUTTON"                ,  
eBS_USERBUTTON }
                            ,  { "BS_VCENTER"                   ,  eBS_VCENTER }
                            ,  { "BTNS_AUTOSIZE"                ,  
eBTNS_AUTOSIZE }
                            ,  { "BTNS_BUTTON"                  ,  eBTNS_BUTTON 
}
                            ,  { "BTNS_CHECK"                   ,  eBTNS_CHECK }
                            ,  { "BTNS_CHECKGROUP"              ,  
eBTNS_CHECKGROUP }
                            ,  { "BTNS_DROPDOWN"                ,  
eBTNS_DROPDOWN }
                            ,  { "BTNS_GROUP"                   ,  eBTNS_GROUP }
                            ,  { "BTNS_NOPREFIX"                ,  
eBTNS_NOPREFIX }
                            ,  { "BTNS_SEP"                     ,  eBTNS_SEP }
                            ,  { "BTNS_SHOWTEXT"                ,  
eBTNS_SHOWTEXT }
                            ,  { "BTNS_WHOLEDROPDOWN"           ,  
eBTNS_WHOLEDROPDOWN }
                            ,  { "COLOR_3DFACE"                 ,  
eCOLOR_3DFACE }
                            ,  { "COLOR_ACTIVEBORDER"           ,  
eCOLOR_ACTIVEBORDER }
                            ,  { "COLOR_ACTIVECAPTION"          ,  
eCOLOR_ACTIVECAPTION }
                            ,  { "COLOR_APPWORKSPACE"           ,  
eCOLOR_APPWORKSPACE }
                            ,  { "COLOR_BACKGROUND"             ,  
eCOLOR_BACKGROUND }
                            ,  { "COLOR_BTNFACE"                ,  
eCOLOR_BTNFACE }
                            ,  { "COLOR_BTNSHADOW"              ,  
eCOLOR_BTNSHADOW }
                            ,  { "COLOR_BTNTEXT"                ,  
eCOLOR_BTNTEXT }
                            ,  { "COLOR_CAPTIONTEXT"            ,  
eCOLOR_CAPTIONTEXT }
                            ,  { "COLOR_GRAYTEXT"               ,  
eCOLOR_GRAYTEXT }
                            ,  { "COLOR_HIGHLIGHT"              ,  
eCOLOR_HIGHLIGHT }
                            ,  { "COLOR_HIGHLIGHTTEXT"          ,  
eCOLOR_HIGHLIGHTTEXT }
                            ,  { "COLOR_INACTIVEBORDER"         ,  
eCOLOR_INACTIVEBORDER }
                            ,  { "COLOR_INACTIVECAPTION"        ,  
eCOLOR_INACTIVECAPTION }
                            ,  { "COLOR_MENU"                   ,  eCOLOR_MENU }
                            ,  { "COLOR_MENUTEXT"               ,  
eCOLOR_MENUTEXT }
                            ,  { "COLOR_SCROLLBAR"              ,  
eCOLOR_SCROLLBAR }
                            ,  { "COLOR_WINDOW"                 ,  
eCOLOR_WINDOW }
                            ,  { "COLOR_WINDOWFRAME"            ,  
eCOLOR_WINDOWFRAME }
                            ,  { "COLOR_WINDOWTEXT"             ,  
eCOLOR_WINDOWTEXT }
                            ,  { "DS_3DLOOK"                    ,  eDS_3DLOOK }
                            ,  { "DS_ABSALIGN"                  ,  eDS_ABSALIGN 
}
                            ,  { "DS_CENTER"                    ,  eDS_CENTER }
                            ,  { "DS_CENTERMOUSE"               ,  
eDS_CENTERMOUSE }
                            ,  { "DS_CONTEXTHELP"               ,  
eDS_CONTEXTHELP }
                            ,  { "DS_CONTROL"                   ,  eDS_CONTROL }
                            ,  { "DS_FIXEDSYS"                  ,  eDS_FIXEDSYS 
}
                            ,  { "DS_LOCALEDIT"                 ,  
eDS_LOCALEDIT }
                            ,  { "DS_MODALFRAME"                ,  
eDS_MODALFRAME }
                            ,  { "DS_NOFAILCREATE"              ,  
eDS_NOFAILCREATE }
                            ,  { "DS_NOIDLEMSG"                 ,  
eDS_NOIDLEMSG }
                            ,  { "DS_RECURSE"                   ,  eDS_RECURSE }
                            ,  { "DS_SETFONT"                   ,  eDS_SETFONT }
                            ,  { "DS_SETFOREGROUND"             ,  
eDS_SETFOREGROUND }
                            ,  { "DS_SYSMODAL"                  ,  eDS_SYSMODAL 
}
                            ,  { "DTS_APPCANPARSE"              ,  
eDTS_APPCANPARSE }
                            ,  { "DTS_LONGDATEFORMAT"           ,  
eDTS_LONGDATEFORMAT }
                            ,  { "DTS_RIGHTALIGN"               ,  
eDTS_RIGHTALIGN }
                            ,  { "DTS_SHORTDATEFORMAT"          ,  
eDTS_SHORTDATEFORMAT }
                            ,  { "DTS_SHOWNONE"                 ,  
eDTS_SHOWNONE }
                            ,  { "DTS_TIMEFORMAT"               ,  
eDTS_TIMEFORMAT }
                            ,  { "DTS_UPDOWN"                   ,  eDTS_UPDOWN }
                            ,  { "ES_AUTOHSCROLL"               ,  
eES_AUTOHSCROLL }
                            ,  { "ES_AUTOVSCROLL"               ,  
eES_AUTOVSCROLL }
                            ,  { "ES_CENTER"                    ,  eES_CENTER }
                            ,  { "ES_LEFT"                      ,  eES_LEFT }
                            ,  { "ES_LOWERCASE"                 ,  
eES_LOWERCASE }
                            ,  { "ES_MULTILINE"                 ,  
eES_MULTILINE }
                            ,  { "ES_NOHIDESEL"                 ,  
eES_NOHIDESEL }
                            ,  { "ES_NUMBER"                    ,  eES_NUMBER }
                            ,  { "ES_OEMCONVERT"                ,  
eES_OEMCONVERT }
                            ,  { "ES_PASSWORD"                  ,  eES_PASSWORD 
}
                            ,  { "ES_READONLY"                  ,  eES_READONLY 
}
                            ,  { "ES_RIGHT"                     ,  eES_RIGHT }
                            ,  { "ES_UPPERCASE"                 ,  
eES_UPPERCASE }
                            ,  { "ES_WANTRETURN"                ,  
eES_WANTRETURN }
                            ,  { "GW_CHILD"                     ,  eGW_CHILD }
                            ,  { "GW_HWNDFIRST"                 ,  
eGW_HWNDFIRST }
                            ,  { "GW_HWNDLAST"                  ,  eGW_HWNDLAST 
}
                            ,  { "GW_HWNDNEXT"                  ,  eGW_HWNDNEXT 
}
                            ,  { "GW_HWNDPREV"                  ,  eGW_HWNDPREV 
}
                            ,  { "GW_OWNER"                     ,  eGW_OWNER }
                            ,  { "IDABORT"                      ,  eIDABORT }
                            ,  { "IDCANCEL"                     ,  eIDCANCEL }
                            ,  { "IDIGNORE"                     ,  eIDIGNORE }
                            ,  { "IDNO"                         ,  eIDNO }
                            ,  { "IDOK"                         ,  eIDOK }
                            ,  { "IDRETRY"                      ,  eIDRETRY }
                            ,  { "IDYES"                        ,  eIDYES }
                            ,  { "IMAGE_BITMAP"                 ,  
eIMAGE_BITMAP }
                            ,  { "IMAGE_CURSOR"                 ,  
eIMAGE_CURSOR }
                            ,  { "IMAGE_ICON"                   ,  eIMAGE_ICON }
                            ,  { "LR_COLOR"                     ,  eLR_COLOR }
                            ,  { "LR_COPYDELETEORG"             ,  
eLR_COPYDELETEORG }
                            ,  { "LR_COPYFROMRESOURCE"          ,  
eLR_COPYFROMRESOURCE }
                            ,  { "LR_COPYRETURNORG"             ,  
eLR_COPYRETURNORG }
                            ,  { "LR_CREATEDIBSECTION"          ,  
eLR_CREATEDIBSECTION }
                            ,  { "LR_DEFAULTCOLOR"              ,  
eLR_DEFAULTCOLOR }
                            ,  { "LR_DEFAULTSIZE"               ,  
eLR_DEFAULTSIZE }
                            ,  { "LR_LOADFROMFILE"              ,  
eLR_LOADFROMFILE }
                            ,  { "LR_LOADMAP3DCOLORS"           ,  
eLR_LOADMAP3DCOLORS }
                            ,  { "LR_LOADTRANSPARENT"           ,  
eLR_LOADTRANSPARENT }
                            ,  { "LR_MONOCHROME"                ,  
eLR_MONOCHROME }
                            ,  { "LR_SHARED"                    ,  eLR_SHARED }
                            ,  { "MB_ABORTRETRYIGNORE"          ,  
eMB_ABORTRETRYIGNORE }
                            ,  { "MB_APPLMODAL"                 ,  
eMB_APPLMODAL }
                            ,  { "MB_DEFAULT_DESKTOP_ONLY"      ,  
eMB_DEFAULT_DESKTOP_ONLY }
                            ,  { "MB_DEFBUTTON1"                ,  
eMB_DEFBUTTON1 }
                            ,  { "MB_DEFBUTTON2"                ,  
eMB_DEFBUTTON2 }
                            ,  { "MB_DEFBUTTON3"                ,  
eMB_DEFBUTTON3 }
                            ,  { "MB_DEFBUTTON4"                ,  
eMB_DEFBUTTON4 }
                            ,  { "MB_HELP"                      ,  eMB_HELP }
                            ,  { "MB_ICONASTERISK"              ,  
eMB_ICONASTERISK }
                            ,  { "MB_ICONERROR"                 ,  
eMB_ICONERROR }
                            ,  { "MB_ICONEXCLAMATION"           ,  
eMB_ICONEXCLAMATION }
                            ,  { "MB_ICONHAND"                  ,  eMB_ICONHAND 
}
                            ,  { "MB_ICONINFORMATION"           ,  
eMB_ICONINFORMATION }
                            ,  { "MB_ICONQUESTION"              ,  
eMB_ICONQUESTION }
                            ,  { "MB_ICONSTOP"                  ,  eMB_ICONSTOP 
}
                            ,  { "MB_ICONWARNING"               ,  
eMB_ICONWARNING }
                            ,  { "MB_OK"                        ,  eMB_OK }
                            ,  { "MB_OKCANCEL"                  ,  eMB_OKCANCEL 
}
                            ,  { "MB_RETRYCANCEL"               ,  
eMB_RETRYCANCEL }
                            ,  { "MB_RIGHT"                     ,  eMB_RIGHT }
                            ,  { "MB_RTLREADING"                ,  
eMB_RTLREADING }
                            ,  { "MB_SERVICE_NOTIFICATION"      ,  
eMB_SERVICE_NOTIFICATION }
                            ,  { "MB_SERVICE_NOTIFICATION_NT3X" ,  
eMB_SERVICE_NOTIFICATION_NT3X }
                            ,  { "MB_SETFOREGROUND"             ,  
eMB_SETFOREGROUND }
                            ,  { "MB_SYSTEMMODAL"               ,  
eMB_SYSTEMMODAL }
                            ,  { "MB_TASKMODAL"                 ,  
eMB_TASKMODAL }
                            ,  { "MB_TOPMOST"                   ,  eMB_TOPMOST }
                            ,  { "MB_YESNO"                     ,  eMB_YESNO }
                            ,  { "MB_YESNOCANCEL"               ,  
eMB_YESNOCANCEL }
                            ,  { "MF_POPUP"                     ,  eMF_POPUP }
                            ,  { "MF_STRING"                    ,  eMF_STRING }
                            ,  { "RBBS_BREAK"                   ,  eRBBS_BREAK }
                            ,  { "RBBS_CHILDEDGE"               ,  
eRBBS_CHILDEDGE }
                            ,  { "RBBS_FIXEDBMP"                ,  
eRBBS_FIXEDBMP }
                            ,  { "RBBS_FIXEDSIZE"               ,  
eRBBS_FIXEDSIZE }
                            ,  { "RBBS_GRIPPERALWAYS"           ,  
eRBBS_GRIPPERALWAYS }
                            ,  { "RBBS_HIDDEN"                  ,  eRBBS_HIDDEN 
}
                            ,  { "RBBS_NOGRIPPER"               ,  
eRBBS_NOGRIPPER }
                            ,  { "RBBS_NOVERT"                  ,  eRBBS_NOVERT 
}
                            ,  { "RBBS_VARIABLEHEIGHT"          ,  
eRBBS_VARIABLEHEIGHT }
                            ,  { "SBT_NOBORDERS"                ,  
eSBT_NOBORDERS }
                            ,  { "SBT_OWNERDRAW"                ,  
eSBT_OWNERDRAW }
                            ,  { "SBT_POPOUT"                   ,  eSBT_POPOUT }
                            ,  { "SBT_RTLREADING"               ,  
eSBT_RTLREADING }
                            ,  { "SB_BOTTOM"                    ,  eSB_BOTTOM }
                            ,  { "SB_ENDSCROLL"                 ,  
eSB_ENDSCROLL }
                            ,  { "SB_LEFT"                      ,  eSB_LEFT }
                            ,  { "SB_LINEDOWN"                  ,  eSB_LINEDOWN 
}
                            ,  { "SB_LINELEFT"                  ,  eSB_LINELEFT 
}
                            ,  { "SB_LINERIGHT"                 ,  
eSB_LINERIGHT }
                            ,  { "SB_LINEUP"                    ,  eSB_LINEUP }
                            ,  { "SB_PAGEDOWN"                  ,  eSB_PAGEDOWN 
}
                            ,  { "SB_PAGELEFT"                  ,  eSB_PAGELEFT 
}
                            ,  { "SB_PAGERIGHT"                 ,  
eSB_PAGERIGHT }
                            ,  { "SB_PAGEUP"                    ,  eSB_PAGEUP }
                            ,  { "SB_RIGHT"                     ,  eSB_RIGHT }
                            ,  { "SB_THUMBPOSITION"             ,  
eSB_THUMBPOSITION }
                            ,  { "SB_THUMBTRACK"                ,  
eSB_THUMBTRACK }
                            ,  { "SB_TOP"                       ,  eSB_TOP }
                            ,  { "SM_ARRANGE"                   ,  eSM_ARRANGE }
                            ,  { "SM_CLEANBOOT"                 ,  
eSM_CLEANBOOT }
                            ,  { "SM_CMOUSEBUTTONS"             ,  
eSM_CMOUSEBUTTONS }
                            ,  { "SM_CXBORDER"                  ,  eSM_CXBORDER 
}
                            ,  { "SM_CXCURSOR"                  ,  eSM_CXCURSOR 
}
                            ,  { "SM_CXDLGFRAME"                ,  
eSM_CXDLGFRAME }
                            ,  { "SM_CXDOUBLECLK"               ,  
eSM_CXDOUBLECLK }
                            ,  { "SM_CXDRAG"                    ,  eSM_CXDRAG }
                            ,  { "SM_CXEDGE"                    ,  eSM_CXEDGE }
                            ,  { "SM_CXFIXEDFRAME"              ,  
eSM_CXFIXEDFRAME }
                            ,  { "SM_CXFRAME"                   ,  eSM_CXFRAME }
                            ,  { "SM_CXFULLSCREEN"              ,  
eSM_CXFULLSCREEN }
                            ,  { "SM_CXHSCROLL"                 ,  
eSM_CXHSCROLL }
                            ,  { "SM_CXHTHUMB"                  ,  eSM_CXHTHUMB 
}
                            ,  { "SM_CXICON"                    ,  eSM_CXICON }
                            ,  { "SM_CXICONSPACING"             ,  
eSM_CXICONSPACING }
                            ,  { "SM_CXMAXIMIZED"               ,  
eSM_CXMAXIMIZED }
                            ,  { "SM_CXMAXTRACK"                ,  
eSM_CXMAXTRACK }
                            ,  { "SM_CXMENUCHECK"               ,  
eSM_CXMENUCHECK }
                            ,  { "SM_CXMENUSIZE"                ,  
eSM_CXMENUSIZE }
                            ,  { "SM_CXMIN"                     ,  eSM_CXMIN }
                            ,  { "SM_CXMINIMIZED"               ,  
eSM_CXMINIMIZED }
                            ,  { "SM_CXMINSPACING"              ,  
eSM_CXMINSPACING }
                            ,  { "SM_CXMINTRACK"                ,  
eSM_CXMINTRACK }
                            ,  { "SM_CXSCREEN"                  ,  eSM_CXSCREEN 
}
                            ,  { "SM_CXSIZE"                    ,  eSM_CXSIZE }
                            ,  { "SM_CXSIZEFRAME"               ,  
eSM_CXSIZEFRAME }
                            ,  { "SM_CXSMICON"                  ,  eSM_CXSMICON 
}
                            ,  { "SM_CXSMSIZE"                  ,  eSM_CXSMSIZE 
}
                            ,  { "SM_CXVSCROLL"                 ,  
eSM_CXVSCROLL }
                            ,  { "SM_CYBORDER"                  ,  eSM_CYBORDER 
}
                            ,  { "SM_CYCAPTION"                 ,  
eSM_CYCAPTION }
                            ,  { "SM_CYCURSOR"                  ,  eSM_CYCURSOR 
}
                            ,  { "SM_CYDLGFRAME"                ,  
eSM_CYDLGFRAME }
                            ,  { "SM_CYDOUBLECLK"               ,  
eSM_CYDOUBLECLK }
                            ,  { "SM_CYDRAG"                    ,  eSM_CYDRAG }
                            ,  { "SM_CYEDGE"                    ,  eSM_CYEDGE }
                            ,  { "SM_CYFIXEDFRAME"              ,  
eSM_CYFIXEDFRAME }
                            ,  { "SM_CYFRAME"                   ,  eSM_CYFRAME }
                            ,  { "SM_CYFULLSCREEN"              ,  
eSM_CYFULLSCREEN }
                            ,  { "SM_CYHSCROLL"                 ,  
eSM_CYHSCROLL }
                            ,  { "SM_CYICON"                    ,  eSM_CYICON }
                            ,  { "SM_CYICONSPACING"             ,  
eSM_CYICONSPACING }
                            ,  { "SM_CYKANJIWINDOW"             ,  
eSM_CYKANJIWINDOW }
                            ,  { "SM_CYMAXIMIZED"               ,  
eSM_CYMAXIMIZED }
                            ,  { "SM_CYMAXTRACK"                ,  
eSM_CYMAXTRACK }
                            ,  { "SM_CYMENU"                    ,  eSM_CYMENU }
                            ,  { "SM_CYMENUCHECK"               ,  
eSM_CYMENUCHECK }
                            ,  { "SM_CYMENUSIZE"                ,  
eSM_CYMENUSIZE }
                            ,  { "SM_CYMIN"                     ,  eSM_CYMIN }
                            ,  { "SM_CYMINIMIZED"               ,  
eSM_CYMINIMIZED }
                            ,  { "SM_CYMINSPACING"              ,  
eSM_CYMINSPACING }
                            ,  { "SM_CYMINTRACK"                ,  
eSM_CYMINTRACK }
                            ,  { "SM_CYSCREEN"                  ,  eSM_CYSCREEN 
}
                            ,  { "SM_CYSIZE"                    ,  eSM_CYSIZE }
                            ,  { "SM_CYSIZEFRAME"               ,  
eSM_CYSIZEFRAME }
                            ,  { "SM_CYSMCAPTION"               ,  
eSM_CYSMCAPTION }
                            ,  { "SM_CYSMICON"                  ,  eSM_CYSMICON 
}
                            ,  { "SM_CYSMSIZE"                  ,  eSM_CYSMSIZE 
}
                            ,  { "SM_CYVSCROLL"                 ,  
eSM_CYVSCROLL }
                            ,  { "SM_CYVTHUMB"                  ,  eSM_CYVTHUMB 
}
                            ,  { "SM_DBCSENABLED"               ,  
eSM_DBCSENABLED }
                            ,  { "SM_DEBUG"                     ,  eSM_DEBUG }
                            ,  { "SM_MENUDROPALIGNMENT"         ,  
eSM_MENUDROPALIGNMENT }
                            ,  { "SM_MIDEASTENABLED"            ,  
eSM_MIDEASTENABLED }
                            ,  { "SM_MOUSEPRESENT"              ,  
eSM_MOUSEPRESENT }
                            ,  { "SM_MOUSEWHEELPRESENT"         ,  
eSM_MOUSEWHEELPRESENT }
                            ,  { "SM_NETWORK"                   ,  eSM_NETWORK }
                            ,  { "SM_PENWINDOWS"                ,  
eSM_PENWINDOWS }
                            ,  { "SM_SECURE"                    ,  eSM_SECURE }
                            ,  { "SM_SHOWSOUNDS"                ,  
eSM_SHOWSOUNDS }
                            ,  { "SM_SLOWMACHINE"               ,  
eSM_SLOWMACHINE }
                            ,  { "SM_SWAPBUTTON"                ,  
eSM_SWAPBUTTON }
                            ,  { "TBSTATE_CHECKED"              ,  
eTBSTATE_CHECKED }
                            ,  { "TBSTATE_ELLIPSES"             ,  
eTBSTATE_ELLIPSES }
                            ,  { "TBSTATE_ENABLED"              ,  
eTBSTATE_ENABLED }
                            ,  { "TBSTATE_HIDDEN"               ,  
eTBSTATE_HIDDEN }
                            ,  { "TBSTATE_INDETERMINATE"        ,  
eTBSTATE_INDETERMINATE }
                            ,  { "TBSTATE_MARKED"               ,  
eTBSTATE_MARKED }
                            ,  { "TBSTATE_PRESSED"              ,  
eTBSTATE_PRESSED }
                            ,  { "TBSTATE_WRAP"                 ,  
eTBSTATE_WRAP }
                            ,  { "TBSTYLE_ALTDRAG"              ,  
eTBSTYLE_ALTDRAG }
                            ,  { "TBSTYLE_AUTOSIZE"             ,  
eTBSTYLE_AUTOSIZE }
                            ,  { "TBSTYLE_BUTTON"               ,  
eTBSTYLE_BUTTON }
                            ,  { "TBSTYLE_CHECK"                ,  
eTBSTYLE_CHECK }
                            ,  { "TBSTYLE_CHECKGROUP"           ,  
eTBSTYLE_CHECKGROUP }
                            ,  { "TBSTYLE_CUSTOMERASE"          ,  
eTBSTYLE_CUSTOMERASE }
                            ,  { "TBSTYLE_DROPDOWN"             ,  
eTBSTYLE_DROPDOWN }
                            ,  { "TBSTYLE_EX_DRAWDDARROWS"      ,  
eTBSTYLE_EX_DRAWDDARROWS }
                            ,  { "TBSTYLE_EX_HIDECLIPPEDBUTTONS",  
eTBSTYLE_EX_HIDECLIPPEDBUTTONS }
                            ,  { "TBSTYLE_EX_MIXEDBUTTONS"      ,  
eTBSTYLE_EX_MIXEDBUTTONS }
                            ,  { "TBSTYLE_FLAT"                 ,  
eTBSTYLE_FLAT }
                            ,  { "TBSTYLE_GROUP"                ,  
eTBSTYLE_GROUP }
                            ,  { "TBSTYLE_LIST"                 ,  
eTBSTYLE_LIST }
                            ,  { "TBSTYLE_NOPREFIX"             ,  
eTBSTYLE_NOPREFIX }
                            ,  { "TBSTYLE_REGISTERDROP"         ,  
eTBSTYLE_REGISTERDROP }
                            ,  { "TBSTYLE_SEP"                  ,  eTBSTYLE_SEP 
}
                            ,  { "TBSTYLE_TOOLTIPS"             ,  
eTBSTYLE_TOOLTIPS }
                            ,  { "TBSTYLE_TRANSPARENT"          ,  
eTBSTYLE_TRANSPARENT }
                            ,  { "TBSTYLE_WRAPABLE"             ,  
eTBSTYLE_WRAPABLE }
                            ,  { "TBTS_BOTTOM"                  ,  eTBTS_BOTTOM 
}
                            ,  { "TBTS_LEFT"                    ,  eTBTS_LEFT }
                            ,  { "TBTS_RIGHT"                   ,  eTBTS_RIGHT }
                            ,  { "TBTS_TOP"                     ,  eTBTS_TOP }
                            ,  { "TMP_NONOTIFY"                 ,  
eTMP_NONOTIFY  }
                            ,  { "TPM_BOTTOMALIGN"              ,  
eTPM_BOTTOMALIGN  }
                            ,  { "TPM_CENTERALIGN"              ,  
eTPM_CENTERALIGN  }
                            ,  { "TPM_HORIZONTAL"               ,  
eTPM_HORIZONTAL  }
                            ,  { "TPM_LEFTALIGN"                ,  
eTPM_LEFTALIGN  }
                            ,  { "TPM_LEFTBUTTON"               ,  
eTPM_LEFTBUTTON  }
                            ,  { "TPM_RECURSE"                  ,  eTPM_RECURSE 
 }
                            ,  { "TPM_RETURNCMD"                ,  
eTPM_RETURNCMD  }
                            ,  { "TPM_RIGHTALIGN"               ,  
eTPM_RIGHTALIGN  }
                            ,  { "TPM_RIGHTBUTTON"              ,  
eTPM_RIGHTBUTTON  }
                            ,  { "TPM_TOPALIGN"                 ,  
eTPM_TOPALIGN  }
                            ,  { "TPM_VCENTERALIGN"             ,  
eTPM_VCENTERALIGN  }
                            ,  { "TPM_VERTICAL"                 ,  
eTPM_VERTICAL  }
                            ,  { "TVGN_CARET"                   ,  eTVGN_CARET  
}
                            ,  { "TVGN_CHILD"                   ,  eTVGN_CHILD  
}
                            ,  { "TVGN_DROPHILITE"              ,  
eTVGN_DROPHILITE  }
                            ,  { "TVGN_FIRSTVISIBLE"            ,  
eTVGN_FIRSTVISIBLE  }
                            ,  { "TVGN_NEXT"                    ,  eTVGN_NEXT  }
                            ,  { "TVGN_NEXTVISIBLE"             ,  
eTVGN_NEXTVISIBLE  }
                            ,  { "TVGN_PARENT"                  ,  eTVGN_PARENT 
 }
                            ,  { "TVGN_PREVIOUS"                ,  
eTVGN_PREVIOUS  }
                            ,  { "TVGN_PREVIOUSVISIBLE"         ,  
eTVGN_PREVIOUSVISIBLE  }
                            ,  { "TVGN_ROOT"                    ,  eTVGN_ROOT  }
                            ,  { "WIN32__GUI__ANIMATION"        ,  
eWIN32__GUI__ANIMATION }
                            ,  { "WIN32__GUI__BUTTON"           ,  
eWIN32__GUI__BUTTON }
                            ,  { "WIN32__GUI__CHECKBOX"         ,  
eWIN32__GUI__CHECKBOX }
                            ,  { "WIN32__GUI__COMBOBOX"         ,  
eWIN32__GUI__COMBOBOX }
                            ,  { "WIN32__GUI__COMBOBOXEX"       ,  
eWIN32__GUI__COMBOBOXEX }
                            ,  { "WIN32__GUI__DIALOG"           ,  
eWIN32__GUI__DIALOG }
                            ,  { "WIN32__GUI__DTPICK"           ,  
eWIN32__GUI__DTPICK }
                            ,  { "WIN32__GUI__EDIT"             ,  
eWIN32__GUI__EDIT }
                            ,  { "WIN32__GUI__GRAPHIC"          ,  
eWIN32__GUI__GRAPHIC }
                            ,  { "WIN32__GUI__GROUPBOX"         ,  
eWIN32__GUI__GROUPBOX }
                            ,  { "WIN32__GUI__HEADER"           ,  
eWIN32__GUI__HEADER }
                            ,  { "WIN32__GUI__LISTBOX"          ,  
eWIN32__GUI__LISTBOX }
                            ,  { "WIN32__GUI__LISTVIEW"         ,  
eWIN32__GUI__LISTVIEW }
                            ,  { "WIN32__GUI__MDICHILD"         ,  
eWIN32__GUI__MDICHILD }
                            ,  { "WIN32__GUI__MDICLIENT"        ,  
eWIN32__GUI__MDICLIENT }
                            ,  { "WIN32__GUI__MDIFRAME"         ,  
eWIN32__GUI__MDIFRAME }
                            ,  { "WIN32__GUI__MONTHCAL"         ,  
eWIN32__GUI__MONTHCAL }
                            ,  { "WIN32__GUI__PROGRESS"         ,  
eWIN32__GUI__PROGRESS }
                            ,  { "WIN32__GUI__RADIOBUTTON"      ,  
eWIN32__GUI__RADIOBUTTON }
                            ,  { "WIN32__GUI__REBAR"            ,  
eWIN32__GUI__REBAR }
                            ,  { "WIN32__GUI__RICHEDIT"         ,  
eWIN32__GUI__RICHEDIT }
                            ,  { "WIN32__GUI__SPLITTER"         ,  
eWIN32__GUI__SPLITTER }
                            ,  { "WIN32__GUI__STATIC"           ,  
eWIN32__GUI__STATIC }
                            ,  { "WIN32__GUI__STATUS"           ,  
eWIN32__GUI__STATUS }
                            ,  { "WIN32__GUI__TAB"              ,  
eWIN32__GUI__TAB }
                            ,  { "WIN32__GUI__TOOLBAR"          ,  
eWIN32__GUI__TOOLBAR }
                            ,  { "WIN32__GUI__TOOLTIP"          ,  
eWIN32__GUI__TOOLTIP }
                            ,  { "WIN32__GUI__TRACKBAR"         ,  
eWIN32__GUI__TRACKBAR }
                            ,  { "WIN32__GUI__TREEVIEW"         ,  
eWIN32__GUI__TREEVIEW }
                            ,  { "WIN32__GUI__UPDOWN"           ,  
eWIN32__GUI__UPDOWN }
                            ,  { "WIN32__GUI__WINDOW"           ,  
eWIN32__GUI__WINDOW }
                            ,  { "WM_ACTIVATE"                  ,  eWM_ACTIVATE 
}
                            ,  { "WM_COMMAND"                   ,  eWM_COMMAND }
                            ,  { "WM_CREATE"                    ,  eWM_CREATE }
                            ,  { "WM_DESTROY"                   ,  eWM_DESTROY }
                            ,  { "WM_ENABLE"                    ,  eWM_ENABLE }
                            ,  { "WM_KEYDOWN"                   ,  eWM_KEYDOWN }
                            ,  { "WM_KEYUP"                     ,  eWM_KEYUP }
                            ,  { "WM_KILLFOCUS"                 ,  
eWM_KILLFOCUS }
                            ,  { "WM_MOVE"                      ,  eWM_MOVE }
                            ,  { "WM_SETCURSOR"                 ,  
eWM_SETCURSOR }
                            ,  { "WM_SETFOCUS"                  ,  eWM_SETFOCUS 
}
                            ,  { "WM_SETREDRAW"                 ,  
eWM_SETREDRAW }
                            ,  { "WM_SIZE"                      ,  eWM_SIZE }
                            ,  { "WS_BORDER"                    ,  eWS_BORDER }
                            ,  { "WS_CAPTION"                   ,  eWS_CAPTION }
                            ,  { "WS_CHILD"                     ,  eWS_CHILD }
                            ,  { "WS_CHILDWINDOW"               ,  
eWS_CHILDWINDOW }
                            ,  { "WS_CLIPCHILDREN"              ,  
eWS_CLIPCHILDREN }
                            ,  { "WS_CLIPSIBLINGS"              ,  
eWS_CLIPSIBLINGS }
                            ,  { "WS_DISABLED"                  ,  eWS_DISABLED 
}
                            ,  { "WS_DLGFRAME"                  ,  eWS_DLGFRAME 
}
                            ,  { "WS_EX_ACCEPTFILES"            ,  
eWS_EX_ACCEPTFILES }
                            ,  { "WS_EX_APPWINDOW"              ,  
eWS_EX_APPWINDOW }
                            ,  { "WS_EX_CLIENTEDGE"             ,  
eWS_EX_CLIENTEDGE }
                            ,  { "WS_EX_CONTEXTHELP"            ,  
eWS_EX_CONTEXTHELP }
                            ,  { "WS_EX_CONTROLPARENT"          ,  
eWS_EX_CONTROLPARENT }
                            ,  { "WS_EX_DLGMODALFRAME"          ,  
eWS_EX_DLGMODALFRAME }
                            ,  { "WS_EX_LEFT"                   ,  eWS_EX_LEFT }
                            ,  { "WS_EX_LEFTSCROLLBAR"          ,  
eWS_EX_LEFTSCROLLBAR }
                            ,  { "WS_EX_LTRREADING"             ,  
eWS_EX_LTRREADING }
                            ,  { "WS_EX_MDICHILD"               ,  
eWS_EX_MDICHILD }
                            ,  { "WS_EX_NOPARENTNOTIFY"         ,  
eWS_EX_NOPARENTNOTIFY }
                            ,  { "WS_EX_OVERLAPPEDWINDOW"       ,  
eWS_EX_OVERLAPPEDWINDOW }
                            ,  { "WS_EX_PALETTEWINDOW"          ,  
eWS_EX_PALETTEWINDOW }
                            ,  { "WS_EX_RIGHT"                  ,  eWS_EX_RIGHT 
}
                            ,  { "WS_EX_RIGHTSCROLLBAR"         ,  
eWS_EX_RIGHTSCROLLBAR }
                            ,  { "WS_EX_RTLREADING"             ,  
eWS_EX_RTLREADING }
                            ,  { "WS_EX_STATICEDGE"             ,  
eWS_EX_STATICEDGE }
                            ,  { "WS_EX_TOOLWINDOW"             ,  
eWS_EX_TOOLWINDOW }
                            ,  { "WS_EX_TOPMOST"                ,  
eWS_EX_TOPMOST }
                            ,  { "WS_EX_TRANSPARENT"            ,  
eWS_EX_TRANSPARENT }
                            ,  { "WS_EX_WINDOWEDGE"             ,  
eWS_EX_WINDOWEDGE }
                            ,  { "WS_GROUP"                     ,  eWS_GROUP }
                            ,  { "WS_HSCROLL"                   ,  eWS_HSCROLL }
                            ,  { "WS_ICONIC"                    ,  eWS_ICONIC }
                            ,  { "WS_MAXIMIZE"                  ,  eWS_MAXIMIZE 
}
                            ,  { "WS_MAXIMIZEBOX"               ,  
eWS_MAXIMIZEBOX }
                            ,  { "WS_MINIMIZE"                  ,  eWS_MINIMIZE 
}
                            ,  { "WS_MINIMIZEBOX"               ,  
eWS_MINIMIZEBOX }
                            ,  { "WS_OVERLAPPED"                ,  
eWS_OVERLAPPED }
                            ,  { "WS_OVERLAPPEDWINDOW"          ,  
eWS_OVERLAPPEDWINDOW }
                            ,  { "WS_POPUP"                     ,  eWS_POPUP }
                            ,  { "WS_POPUPWINDOW"               ,  
eWS_POPUPWINDOW }
                            ,  { "WS_SIZEBOX"                   ,  eWS_SIZEBOX }
                            ,  { "WS_SYSMENU"                   ,  eWS_SYSMENU }
                            ,  { "WS_TABSTOP"                   ,  eWS_TABSTOP }
                            ,  { "WS_THICKFRAME"                ,  
eWS_THICKFRAME }
                            ,  { "WS_TILED"                     ,  eWS_TILED }
                            ,  { "WS_TILEDWINDOW"               ,  
eWS_TILEDWINDOW }
                            ,  { "WS_VISIBLE"                   ,  eWS_VISIBLE }
                            ,  { "WS_VSCROLL"                   ,  eWS_VSCROLL }
  }; // aWinOptions
#endif

Attachment: GUI_Constants.cpp
Description: Binary data

Attachment: GUI_Constants-new.cpp
Description: Binary data

Reply via email to