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
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
GUI_Constants.cpp
Description: Binary data
GUI_Constants-new.cpp
Description: Binary data