September 27, 2020, 10:56:52 am

News:

Own IWBasic 2.x ? -----> Get your free upgrade to 3.x now.........


Control constant and values - a must for all.

Started by Andy, September 17, 2018, 09:48:16 am

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Andy

Hi,

Bill gave me an idea the other day (thanks Bill), after I was talking about styles for controls.

So I've written this program that has around 1,500 control constants and values.

You can search by control type - e.g. Button.

You can search by name, or part of name e.g. LEFT.

You can search by value e.g. 200 (for 0x200).

Think this is a must for us all.

Enjoy!

Andy.
:)
Day after day, day after day, we struck nor breath nor motion, as idle as a painted ship upon a painted ocean.

billhsln

Very nice.  Covers lots more of the codes and makes it easier to look for.

Just one question, what are Edit 6 & 7 used for?  I can't find them used in the code.

Thanks for the program,
Bill

When all else fails, get a bigger hammer.

Andy

Bill,

Thanks for that!

Edits 6 & 7 are used when you click a constant in the list view.

They are then filled with the name and value respectivly, so you can copy and paste the name or value into a program should you wish to.

Andy.
Day after day, day after day, we struck nor breath nor motion, as idle as a painted ship upon a painted ocean.

billhsln

Found it.  Not used to using numbers for the controls.  I prefer to ENUM them with a name.

Thanks,
Bill
When all else fails, get a bigger hammer.

fasecero

September 17, 2018, 03:14:26 pm #4 Last Edit: September 17, 2018, 05:31:50 pm by fasecero
Andy, nice idea! This is indeed a very useful program. I'm playing with your code and I've added to the edit a button labeled "Search on MSDN" that deals with a hidden browser to find the MSDN page of the currently selected constant. I hope you don't mind :)

Code Select

$include "windowssdk.inc"
$include "commctrl.inc"
$include "mshtml.inc"
$include "exdisp.inc"

string text1,text2
int max
string SearchType
const search = 500

' -----------------------------------------
WINDOW g_win
UINT   g_ondoccompleted ' callback pointer
setid  "IDDOCCOMPLETE",0x8011 ' first unused id
declare BROWSERCB(WINDOW win, IWebBrowser2 browser)
WSTRING searchConstantName = L""
INT isBrowserBusy = 0
InstallDocumentCompleteSupport()
' -----------------------------------------

window win

OPENWINDOW win,0,0,840,600,@CAPTION|@SYSMENU|@MINBOX|@MAXBOX|@SIZE,0,"Search Constants",&handler_win
CONTROL win,@EDIT,"",40,65,400,25,@CTEDITLEFT|0x8,search
CONTROL win,@EDIT,"",40,120,400,25,@CTEDITLEFT,6
CONTROL win,@EDIT,"",40,150,400,25,@CTEDITLEFT,7
CONTROL win,@STATIC,"Note, WM_USER = 0x400",460,150,200,25,@CTEDITLEFT|0x200,8

' -----------------------------------------
CONTROL win,@BUTTON,"Search on MSDN",460,118,200,25,0x50000000,20
ENABLECONTROL win, 20, 0
' -----------------------------------------

floodfill win,0,0,rgb(255,255,255)
CONTROL win,@COMBOBOX,"",40,20,200,325,@CTCOMBODROPDOWN|@VSCROLL|@TABSTOP,1
ADDSTRING win,1,"Button"
ADDSTRING win,1,"CheckBox (See Button)"
ADDSTRING win,1,"ComboBox"
ADDSTRING win,1,"Edit"
ADDSTRING win,1,"ListBox"
ADDSTRING win,1,"ListView"
ADDSTRING win,1,"MessageBox"
ADDSTRING win,1,"RichEdit"
ADDSTRING win,1,"ScrollBar"
ADDSTRING win,1,"Static"
ADDSTRING win,1,"TabControl"
ADDSTRING win,1,"ToolBar"
ADDSTRING win,1,"ToolTip"
ADDSTRING win,1,"TrackBar"
ADDSTRING win,1,"TreeView"
ADDSTRING win,1,"Window"
setselected win,1,0

CONTROL win,@BUTTON,"Search",260,20,110,25,@CTEDITCENTER,3

CONTROL win,@COMBOBOX,"",460,65,200,125,@CTCOMBODROPDOWN|@VSCROLL|@TABSTOP,9
ADDSTRING win,9,"All control types"
ADDSTRING win,9,"Button"
ADDSTRING win,9,"CheckBox (See Button)"
ADDSTRING win,9,"ComboBox"
ADDSTRING win,9,"Edit"
ADDSTRING win,9,"ListBox"
ADDSTRING win,9,"ListView"
ADDSTRING win,9,"MessageBox"
ADDSTRING win,9,"RichEdit"
ADDSTRING win,9,"ScrollBar"
ADDSTRING win,9,"Static"
ADDSTRING win,9,"TabControl"
ADDSTRING win,9,"ToolBar"
ADDSTRING win,9,"ToolTip"
ADDSTRING win,9,"TrackBar"
ADDSTRING win,9,"TreeView"
ADDSTRING win,9,"Window"
setselected win,9,0

CONTROL win,@BUTTON,"Search",680,65,100,25,@CTEDITCENTER,5

CONTROL win,@LISTVIEW,"",0,200,820,360,@LVSREPORT|@BORDER|@LVSSINGLESEL|@LVSSHOWSELALWAYS|@VSCROLL,4
SENDMESSAGE win,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT,4
CONTROLCMD win,4,@LVINSERTCOLUMN,0,"Name"
CONTROLCMD win,4,@LVINSERTCOLUMN,1,"Value"
CONTROLCMD win,4,@LVINSERTCOLUMN,2,"Type"
CONTROLCMD win,4,@LVSETCOLWIDTH,0,400
CONTROLCMD win,4,@LVSETCOLWIDTH,1,150
CONTROLCMD win,4,@LVSETCOLWIDTH,2,270

SETFONT win,"Arial",12,400,0,1
SETFONT win,"Arial",12,400,0,3
SETFONT win,"Arial",12,400,0,4
SETFONT win,"Arial",12,400,0,5
SETFONT win,"Arial",12,400,0,6
SETFONT win,"Arial",12,400,0,7
SETFONT win,"Arial",12,400,0,8
SETFONT win,"Arial",12,400,0,9
SETFONT win,"Arial",12,400,0,search
SETFONT win,"Arial",11,400,0,20
SETCONTROLCOLOR win,8,rgb(0,0,0),RGB(255,255,255)

setfocus win

WAITUNTIL win = 0
end

'----------------------------------
'
' The window's handler
'
'----------------------------------

SUB handler_win(),int

SELECT @MESSAGE

    CASE @IDCONTROL

        SELECT @CONTROLID

case search
if @NOTIFYCODE=@ENCHANGE
                     if getcontroltext(win,search) = ""
                        SENDMESSAGE win,LVM_DeleteAllItems,0,0,4
                     endif
                  endif

case 4
               SELECT @NOTIFYCODE
                    CASE @NMCLICK
                    CASE& @LVNITEMCHANGED
                        int pos = 0
                        string Info = ""
                        string cValue = ""
pos=*<NMLISTVIEW>@LPARAM.iItem
CONTROLCMD(win,4,@LVGETTEXT,pos,0,Info)
CONTROLCMD(win,4,@LVGETTEXT,pos,1,cValue)
setcontroltext win,6,Info
setcontroltext win,7,cValue
                  endselect

case 5

if @NOTIFYCODE=0

                     SENDMESSAGE win,LVM_DeleteAllItems,0,0,4
                     string Search$ = ""
                     Search$ = getcontroltext(win,search)

                     SearchType = getstring(win,9,getselected(win,9))

                     if instr(SearchType,"All")
LoadButtons(Search$)
LoadComboBoxes(Search$)
LoadEdits(Search$)
LoadListBox(Search$) 
LoadListviews(Search$)   
LoadMessageBoxes(Search$)
LoadEdits(Search$)
LoadScrollBars(Search$)
LoadStatic(Search$)
LoadTabControls(Search$)
LoadToolBars(Search$)
LoadToolTips(Search$)
LoadTrackBars(Search$)
LoadTreeViews(Search$)
LoadWindows(Search$)
                        return 0
                     endif

                     if instr(SearchType,"Button")
LoadButtons(Search$)
                     endif   

                     if instr(SearchType,"Combo")
LoadComboBoxes(Search$)
                     endif

                     if instr(SearchType,"Edit")
LoadEdits(Search$)
                     endif

                     if instr(SearchType,"ListBox")
LoadListBox(Search$)
                     endif

                     if instr(SearchType,"ListView")
LoadListViews(Search$)
                     endif

                     if instr(SearchType,"Message")
LoadMessageBoxes(Search$)
                     endif

                     if instr(SearchType,"Rich")
LoadRichEdits(Search$)
                     endif

                     if instr(SearchType,"Scroll")
LoadScrollBars(Search$)
                     endif

                     if instr(SearchType,"Static")
LoadStatic(Search$)
                     endif

                     if instr(SearchType,"Tab")
LoadTabControls(Search$)
                     endif

                     if instr(SearchType,"ToolBar")
LoadToolBars(Search$)
                     endif

                     if instr(SearchType,"ToolTip")
LoadToolTips(Search$)
                     endif

                     if instr(SearchType,"Track")
LoadTrackBars(Search$)
                     endif

                     if instr(SearchType,"Tree")
LoadTreeViews(Search$)
                     endif

                     if instr(SearchType,"Window")
LoadWindows(Search$)
                     endif         
endif

            case 3
                 if @NOTIFYCODE=0
                    SENDMESSAGE win,LVM_DeleteAllItems,0,0,4
                    setfocus win
             
                    if getstring(win,1,getselected(win,1)) = "Button" then LoadButtons("")
                    if getstring(win,1,getselected(win,1)) = "ComboBox" then LoadComboBoxes("")
                    if getstring(win,1,getselected(win,1)) = "Edit" then LoadEdits("")
                    if getstring(win,1,getselected(win,1)) = "ListBox" then LoadListBox("") 
                    if getstring(win,1,getselected(win,1)) = "ListView" then LoadListviews("")   
                    if getstring(win,1,getselected(win,1)) = "MessageBox" then LoadMessageBoxes("")
                    if getstring(win,1,getselected(win,1)) = "RichEdit" then LoadRichEdits("")
                    if getstring(win,1,getselected(win,1)) = "ScrollBar" then LoadScrollBars("")
                    if getstring(win,1,getselected(win,1)) = "Static" then LoadStatic("")
                    if getstring(win,1,getselected(win,1)) = "TabControl" then LoadTabControls("")
                    if getstring(win,1,getselected(win,1)) = "ToolBar" then LoadToolBars("")
                    if getstring(win,1,getselected(win,1)) = "ToolTip" then LoadToolTips("")
                    if getstring(win,1,getselected(win,1)) = "TrackBar" then LoadTrackBars("")
                    if getstring(win,1,getselected(win,1)) = "TreeView" then LoadTreeViews("")
                    if getstring(win,1,getselected(win,1)) = "Window" then LoadWindows("")

                 endif

' -----------------------------------------
CASE 6
SELECT @NOTIFYCODE
CASE @ENCHANGE
IF isBrowserBusy = 0 THEN ENABLECONTROL win, 20, LEN(GETCONTROLTEXT(win, 6))
ENDSELECT

CASE 20
IF @NOTIFYCODE = 0
/*button clicked*/
SearchOnMSDN()
ENDIF
' -----------------------------------------
        endselect

CASE @IDCREATE
  centerwindow win

    case @IDCLOSEWINDOW
         closewindow win
         end

endselect
return 0
endsub

sub LoadStatic(string LookFor),int
RESTORE Statics
max=-1
DO
GETDATA Statics,text1
GETDATA Statics,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"STATIC"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadScrollBars(string LookFor),int
RESTORE ScrollBars
max=-1
DO
GETDATA ScrollBars,text1
GETDATA ScrollBars,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"SCROLLBAR"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadTabControls(string LookFor),int
RESTORE TabControls
max=-1
DO
GETDATA TabControls,text1
GETDATA TabControls,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"TAB CONTROL"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadToolBars(string LookFor),int
RESTORE ToolBars
max=-1
DO
GETDATA ToolBars,text1
GETDATA ToolBars,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"TOOLBAR"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadTooltips(string LookFor),int
RESTORE Tooltips
max=-1
DO
GETDATA Tooltips,text1
GETDATA Tooltips,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"TOOLTIP"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub


sub LoadTrackBars(string LookFor),int
RESTORE TrackBars
max=-1
DO
GETDATA TrackBars,text1
GETDATA TrackBars,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"TRACKBAR"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadTreeviews(string LookFor),int
RESTORE Treeviews
max=-1
DO
GETDATA Treeviews,text1
GETDATA Treeviews,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"TREEVIEW"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadListBox(string LookFor),int
RESTORE Listbox
max=-1
DO
GETDATA Listbox,text1
GETDATA Listbox,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"LISTBOX"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadButtons(string LookFor),int
RESTORE Buttons
max=-1
DO
GETDATA Buttons,text1
GETDATA Buttons,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"BUTTON"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadComboBoxes(string LookFor),int
RESTORE Comboboxes
max=-1
DO
GETDATA Comboboxes,text1
GETDATA Comboboxes,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"COMBOBOX"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadEdits(string LookFor),int
RESTORE Edits
max=-1
DO
GETDATA Edits,text1
GETDATA Edits,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"EDITBOX"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadListviews(string LookFor),int
RESTORE Listviews
max=-1
DO
GETDATA Listviews,text1
GETDATA Listviews,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"LISTVIEW"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadMessageboxes(string LookFor),int
RESTORE Messageboxes
max=-1
DO
GETDATA Messageboxes,text1
GETDATA Messageboxes,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"MESSAGEBOX"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadWindows(string LookFor),int
RESTORE Windows
max=-1
DO
GETDATA Windows,text1
GETDATA Windows,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"WINDOW"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

sub LoadRichEdits(string LookFor),int
RESTORE RichEdits
max=-1
DO
GETDATA RichEdits,text1
GETDATA RichEdits,text2
IF text1<>"END"
         if LookFor <> ""
            if instr(text1,LookFor) or instr(text2,LookFor)
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
      CONTROLCMD win,4,@LVSETTEXT,max,1,text2
      CONTROLCMD win,4,@LVSETTEXT,max,2,"RICHEDIT"
            endif
         else
      max++
   CONTROLCMD win,4,@LVINSERTITEM,max,text1
   CONTROLCMD win,4,@LVSETTEXT,max,1,text2
         endif
ENDIF
UNTIL text1="END"

return 0
endsub

' ----------------------------------------------------------------------------------------------------------
' Search on MSDN
' ----------------------------------------------------------------------------------------------------------

SUB SearchOnMSDN()
IF isBrowserBusy = 0 THEN
isBrowserBusy = 1
SETCONTROLTEXT win, 20, "Searching..."
ENABLECONTROL win, 20, 0
searchConstantName = S2W(GETCONTROLTEXT(win, 6))
OPENWINDOW g_win,-1000,0,600,400,@TOOLWINDOW,0,"",&win_handler

if (AttachBrowser(g_win) = 0)
IWebBrowser2 g_browser
if (BrowserFromWindow(g_win, &g_browser))
' call OnGoogleOpened after the navigation completes
'update callback
g_ondoccompleted = &OnGoogleOpened
SetForegroundWindow(win.hwnd)
' and navigate
g_browser->Navigate(L"http://www.google.com/webhp?sourceid=navclient&ie=UTF-8",0,0,0,0)
' release browser
g_browser->Release()
waituntil g_win.hwnd = 0
endif
endif
SETCONTROLTEXT win, 20, "Search on MSDN"
ENABLECONTROL win, 20, 1
ENDIF
ENDSUB

sub win_handler
IWebBrowser2 browser
UINT function
SELECT @MESSAGE
CASE @IDDOCCOMPLETE
if (g_ondoccompleted and BrowserFromWindow(*<WINDOW>@HITWINDOW, &browser))
function = g_ondoccompleted
g_ondoccompleted = 0
!<BROWSERCB>function(*<WINDOW>@HITWINDOW, browser)
browser->Release()
endif

CASE @IDCLOSEWINDOW
CLOSEWINDOW g_win

'CASE @IDSTATUSTEXTUPDATE
'string caption = ""
'BROWSECMD(g_win,@GETSTATUSTEXT,caption,255)
'SETCAPTION win, caption
ENDSELECT
RETURN
ENDSUB

sub OnGoogleOpened(WINDOW win, IWebBrowser2 browser)
IHTMLDocument2 document

if (BrowserGetDocument(browser, &document))
' 1. put "searchConstantName" into search box
' 2. change submit button text
' 3. submit
IHTMLInputElement textfind
if (DocumentGetElementById(document, L"q", _IID_IHTMLInputElement, &textfind))

textfind->put_value(searchConstantName)
textfind->Release()

IHTMLInputElement searchbutton
if (DocumentGetElementById(document, L"btnK", _IID_IHTMLInputElement, &searchbutton))
ElementFocus(searchbutton)
searchbutton->put_value(L"Click Me  Click Me  Click Me")
g_ondoccompleted = &OnGoogleResults
ElementClick(searchbutton)
searchbutton->Release()
endif
endif
document->Release()
endif

return
endsub

sub OnGoogleResults(WINDOW win, IWebBrowser2 browser)
INT success = 0
int index
IHTMLElementCollection all
if (BrowserGetAll(browser, &all)) /*browser.document.all*/
' number of elements
int count=0
all->get_length(&count)

' for each element
for index=0 to count-1
IHTMLAnchorElement anchor
if (CollectionGetItem(all, index, _IID_IHTMLAnchorElement, &anchor))
' anchor has text and href attributes (not only)
BSTR bstrHref=0
if (ElementGetAttribute(anchor, L"href", &bstrHref)) THEN
if (WINSTR(#<WSTRING>bstrHref, L"docs.microsoft.com") > 0)
SYSTEM( W2S(#<WSTRING>bstrHref)) ' open the link in your default browser
SysFreeString(bstrHref)
success = 1
BREAKFOR
ENDIF
ENDIF

anchor->Release()
endif

next index
all->Release()
endif

IF success = 0 THEN MessageBox(win, "No MSDN page found for " + W2S(searchConstantName), "", @MB_ICONINFORMATION)
_SendMessage(g_win.hwnd, WM_CLOSE, 0, 0)
isBrowserBusy = 0

return
endsub

'================================================================== html util

sub BrowserFromWindow(WINDOW w, pointer ppBrowser),BOOL
' This will return IWebBrowser2 object.
' Call Release() method when finished with it.
pointer p = GetProp(w.hwnd, "BROWSER")
BOOL success = FALSE
*<int>ppBrowser = 0

if (p)
IUnknown unk = *<comref>p
if (unk <> 0)
success = (unk->QueryInterface(_IID_IWebBrowser2, ppBrowser) = 0)
endif
endif

return success
endsub

sub BrowserGetDocument(IWebBrowser2 browser, pointer ppv),BOOL
' This will return IHTMLDocument2
BOOL success = FALSE

IDispatch disp = 0
if ((browser->get_Document(&disp) = 0) and (disp <> 0))
success = (disp->QueryInterface(_IID_IHTMLDocument2, ppv) = 0)
disp->Release()
endif

return success
endsub

sub DocumentGetElementById(IHTMLDocument2 document, LPWSTR id, pointer refiid, pointer ppv),BOOL
BOOL success = FALSE
if (refiid = 0) then refiid = _IID_IHTMLElement

IHTMLDocument3 doc = 0
if (document->QueryInterface(_IID_IHTMLDocument3, &doc) = 0)

IHTMLElement element = 0
if ((doc->getElementById(id, &element) = 0) and (element <> 0))

success = (element->QueryInterface(refiid, ppv) = 0)
element->Release()

endif
doc->Release()
endif
return success
endsub

sub CollectionGetItem(IHTMLElementCollection all, int index, pointer refiid, pointer ppv),BOOL
BOOL success = FALSE
VARIANT vName
VARIANT vIndex
vName.vt     = VT_I4
vIndex.vt    = VT_EMPTY
vName.intVal = index

IDispatch pDisp = 0
if ((all->item(vName, vIndex, &pDisp) = 0) and (pDisp <> 0))
success = (pDisp->QueryInterface(refiid, ppv) = 0)
pDisp->Release()
endif
return success
endsub

sub BrowserGetAll(IWebBrowser2 browser, pointer ppAall),BOOL
' this will return IHTMLElementCollection
BOOL success = FALSE

IHTMLDocument2 document
if (BrowserGetDocument(browser, &document))

IHTMLElementCollection all = 0
if ((document->get_all(ppAall) = 0) and *<int>ppAall)
success = TRUE
endif
document->Release()
endif
return success
endsub

sub ElementClick(IDispatch object)
IHTMLElement element = 0
if (object->QueryInterface(_IID_IHTMLElement, &element) = 0)
' for some reason the click only works if the browser lose the focus...
'MessageBox(0, "Your browser will try to open the MSDN page for: " + W2S(searchConstantName), "", @MB_ICONINFORMATION)
SetForegroundWindow(win.hwnd)

element->click()
element->Release()
endif
endsub

sub ElementFocus(IDispatch object)
IHTMLElement2 element = 0
if (object->QueryInterface(_IID_IHTMLElement2, &element) = 0)
element->focus()
element->Release()
endif
endsub

sub ElementGetAttribute(IDispatch object, LPWSTR attribute, pointer ppv),BOOL
' this will return BSTR
BOOL success = FALSE

IHTMLElement element=0

if (object->QueryInterface(_IID_IHTMLElement, &element) = 0)

VARIANT v
ZeroMemory(&v, LEN(v))
if (element->getAttribute(attribute, 0, &v) = 0)

if ((v.vt <> VT_UNKNOWN) and (v.vt <> VT_DISPATCH))
VariantChangeType(&v, &v, VARIANT_ALPHABOOL, VT_BSTR)
endif

if (v.vt = VT_BSTR)
*<BSTR>ppv = v.bstrVal
v.vt = VT_EMPTY
success = TRUE
endif

VariantClear(&v)
endif

element->Release()
endif
return success
endsub

'================================================
' this is a trick to receive OnDocumentComplete.
' the _DocumentComplete function is empty, and is 16 bytes long. Takes two parameters
declare extern _DocumentComplete()
declare _dcpath()

_asm
jmp _skip
_dcpath: ; replacement for _DocumentComplete
push dword _doccompl
ret

align 4
_doccompl:
add  esp,12          ; eat 2 parameters and return address
mov  eax,[esp+4]     ; WebEvents*
mov  edx,[esp+24]    ; pDispParams
mov  edx,[edx]       ; VARIANT[]

push dword [edx+8]   ; VARIANT *URL
push dword [edx+16+8]; IDispatch *pDisp
push dword [eax+12]  ; hwnd
call OnDocumentComplete
ret 0x24             ; return from WebEvents::Invoke
_skip:
_endasm

sub InstallDocumentCompleteSupport()
' overwrite the _DocumentComplete function
WriteProcessMemory(GetCurrentProcess(),&_DocumentComplete,&_dcpath,6,0)
return
endsub

sub OnDocumentComplete(HWND hwnd, IDispatch pDisp, VARIANT URL)
' pDisp - Pointer to the IDispatch interface of the window or frame in which the document has loaded.
' This IDispatch interface can be queried for the IWebBrowser2 interface.
_SendMessage(hwnd, @IDDOCCOMPLETE,0,0)
return
endsub

' ----------------------------------------------------------------------------------------------------------
' DATA
' ----------------------------------------------------------------------------------------------------------

databegin RichEdits
DATA "EM_AUTOURLDETECT","(WM_USER+91)"
DATA "EM_CANPASTE","(WM_USER+50)"
DATA "EM_CANREDO","(WM_USER+85)"
DATA "EM_CANUNDO","0xC6"
DATA "EM_CHARFROMPOS","0xD7"
DATA "EM_CONVPOSITION","(WM_USER+108)"
DATA "EM_DISPLAYBAND","(WM_USER+51)"
DATA "EM_EMPTYUNDOBUFFER","0xCD"
DATA "EM_EXGETSEL","(WM_USER+52)"
DATA "EM_EXLIMITTEXT","(WM_USER+53)"
DATA "EM_EXLINEFROMCHAR","(WM_USER+54)"
DATA "EM_EXSETSEL","(WM_USER+55)"
DATA "EM_FINDTEXT","(WM_USER+56)"
DATA "EM_FINDTEXTEX","(WM_USER+79)"
DATA "EM_FINDWORDBREAK","(WM_USER+76)"
DATA "EM_FMTLINES","0xC8"
DATA "EM_FORMATRANGE","(WM_USER+57)"
DATA "EM_GETAUTOURLDETECT","(WM_USER+92)"
DATA "EM_GETBIDIOPTIONS","(WM_USER+201)"
DATA "EM_GETCHARFORMAT","(WM_USER+58)"
DATA "EM_GETEDITSTYLE","(WM_USER+205)"
DATA "EM_GETEVENTMASK","(WM_USER+59)"
DATA "EM_GETFIRSTVISIBLELINE","0xCE"
DATA "EM_GETHANDLE","0xBD"
DATA "EM_GETIMECOLOR","(WM_USER+105)"
DATA "EM_GETIMECOMPMODE","(WM_USER+122)"
DATA "EM_GETIMEMODEBIAS","(WM_USER+127)"
DATA "EM_GETIMEOPTIONS","(WM_USER+107)"
DATA "EM_GETIMESTATUS","0xD9"
DATA "EM_GETLANGOPTIONS","(WM_USER+121)"
DATA "EM_GETLIMITTEXT","(WM_USER+37)"
DATA "EM_GETLINE","0xC4"
DATA "EM_GETLINECOUNT","0xBA"
DATA "EM_GETMARGINS","0xD4"
DATA "EM_GETMODIFY","0xB8"
DATA "EM_GETOLEINTERFACE","(WM_USER+60)"
DATA "EM_GETOPTIONS","(WM_USER+78)"
DATA "EM_GETPARAFORMAT","(WM_USER+61)"
DATA "EM_GETPASSWORDCHAR","0xD2"
DATA "EM_GETPUNCTUATION","(WM_USER+101)"
DATA "EM_GETRECT","0xB2"
DATA "EM_GETREDONAME","(WM_USER+87)"
DATA "EM_GETSCROLLPOS","(WM_USER+221)"
DATA "EM_GETSEL","0xB0"
DATA "EM_GETSELTEXT","(WM_USER+62)"
DATA "EM_GETTEXTEX","(WM_USER+94)"
DATA "EM_GETTEXTLENGTHEX","(WM_USER+95)"
DATA "EM_GETTEXTMODE","(WM_USER+90)"
DATA "EM_GETTEXTRANGE","(WM_USER+75)"
DATA "EM_GETTHUMB","0xBE"
DATA "EM_GETTYPOGRAPHYOPTIONS","(WM_USER+203)"
DATA "EM_GETUNDONAME","(WM_USER+86)"
DATA "EM_GETWORDBREAKPROC","0xD1"
DATA "EM_GETWORDBREAKPROCEX","(WM_USER+80)"
DATA "EM_GETWORDWRAPMODE","(WM_USER+103)"
DATA "EM_GETZOOM","(WM_USER+224)"
DATA "EM_HIDESELECTION","(WM_USER+63)"
DATA "EM_LIMITTEXT","0xC5"
DATA "EM_LINEFROMCHAR","0xC9"
DATA "EM_LINEINDEX","0xBB"
DATA "EM_LINELENGTH","0xC1"
DATA "EM_LINESCROLL","0xB6"
DATA "EM_OUTLINE","(WM_USER+220)"
DATA "EM_PASTESPECIAL","(WM_USER+64)"
DATA "EM_POSFROMCHAR","(WM_USER+38)"
DATA "EM_RECONVERSION","(WM_USER+125)"
DATA "EM_REDO","(WM_USER+84)"
DATA "EM_REPLACESEL","0xC2"
DATA "EM_REQUESTRESIZE","(WM_USER+65)"
DATA "EM_SCROLL","0xB5"
DATA "EM_SCROLLCARET","0xB7"
DATA "EM_SELECTIONTYPE","(WM_USER+66)"
DATA "EM_SETBIDIOPTIONS","(WM_USER+200)"
DATA "EM_SETBKGNDCOLOR","(WM_USER+67)"
DATA "EM_SETCHARFORMAT","(WM_USER+68)"
DATA "EM_SETCUEBANNER","(ECM_FIRST+1)"
DATA "EM_SETEDITSTYLE","(WM_USER+204)"
DATA "EM_SETEVENTMASK","(WM_USER+69)"
DATA "EM_SETFONTSIZE","(WM_USER+223)"
DATA "EM_SETHANDLE","0xBC"
DATA "EM_SETIMECOLOR","(WM_USER+104)"
DATA "EM_SETIMEMODEBIAS","(WM_USER+126)"
DATA "EM_SETIMEOPTIONS","(WM_USER+106)"
DATA "EM_SETIMESTATUS","0xD8"
DATA "EM_SETLANGOPTIONS","(WM_USER+120)"
DATA "EM_SETLIMITTEXT","EM_LIMITTEXT"
DATA "EM_SETMARGINS","0xD3"
DATA "EM_SETMODIFY","0xB9"
DATA "EM_SETOLECALLBACK","(WM_USER+70)"
DATA "EM_SETOPTIONS","(WM_USER+77)"
DATA "EM_SETPALETTE","(WM_USER+93)"
DATA "EM_SETPARAFORMAT","(WM_USER+71)"
DATA "EM_SETPASSWORDCHAR","0xCC"
DATA "EM_SETPUNCTUATION","(WM_USER+100)"
DATA "EM_SETREADONLY","0xCF"
DATA "EM_SETRECT","0xB3"
DATA "EM_SETRECTNP","0xB4"
DATA "EM_SETSCROLLPOS","(WM_USER+222)"
DATA "EM_SETSEL","0xB1"
DATA "EM_SETTABSTOPS","0xCB"
DATA "EM_SETTARGETDEVICE","(WM_USER+72)"
DATA "EM_SETTEXTEX","(WM_USER+97)"
DATA "EM_SETTEXTMODE","(WM_USER+89)"
DATA "EM_SETTYPOGRAPHYOPTIONS","(WM_USER+202)"
DATA "EM_SETUNDOLIMIT","(WM_USER+82)"
DATA "EM_SETWORDBREAKPROC","0xD0"
DATA "EM_SETWORDBREAKPROCEX","(WM_USER+81)"
DATA "EM_SETWORDWRAPMODE","(WM_USER+102)"
DATA "EM_SETZOOM","(WM_USER+225)"
DATA "EM_SHOWSCROLLBAR","(WM_USER+96)"
DATA "EM_STOPGROUPTYPING","(WM_USER+88)"
DATA "EM_STREAMIN","(WM_USER+73)"
DATA "EM_STREAMOUT","(WM_USER+74)"
DATA "EM_UNDO","0xC7"
data "See also - Edit",""
DATA "END","END"
DATAEND

DATABEGIN Statics
DATA "SS_BITMAP","0xE"
DATA "SS_BLACKFRAME","0x7"
DATA "SS_BLACKRECT","0x4"
DATA "SS_CENTER","0x1"
DATA "SS_CENTERIMAGE","0x200"
DATA "SS_ELLIPSISMASK","0xC000"
DATA "SS_ENDELLIPSIS","0x4000"
DATA "SS_ENHMETAFILE","0xF"
DATA "SS_ETCHEDFRAME","0x12"
DATA "SS_ETCHEDHORZ","0x10"
DATA "SS_ETCHEDVERT","0x11"
DATA "SS_GRAYFRAME","0x8"
DATA "SS_GRAYRECT","0x5"
DATA "SS_ICON","0x3"
DATA "SS_LEFT","0x0"
DATA "SS_LEFTNOWORDWRAP","0xC"
DATA "SS_LEVEL_VERSION","0"
DATA "SS_MAJOR_VERSION","7"
DATA "SS_MINIMUM_VERSION","0"
DATA "SS_MINOR_VERSION","0"
DATA "SS_NOPREFIX","0x80"
DATA "SS_NOTIFY","0x100"
DATA "SS_OWNERDRAW","0xD"
DATA "SS_PATHELLIPSIS","0x8000"
DATA "SS_REALSIZECONTROL","0x40"
DATA "SS_REALSIZEIMAGE","0x800"
DATA "SS_RIGHT","0x2"
DATA "SS_RIGHTJUST","0x400"
DATA "SS_SIMPLE","0xB"
DATA "SS_SUNKEN","0x1000"
DATA "SS_TYPEMASK","0x1F"
DATA "SS_USERITEM","0xA"
DATA "SS_VCENTER","0x200"
DATA "SS_WHITEFRAME","0x9"
DATA "SS_WHITERECT","0x6"
DATA "SS_WORDELLIPSIS","0xC000"
DATA "END","END"
DATAEND

databegin Scrollbars
DATA "SB_BOTH","0x3"
DATA "SB_BOTTOM","0x7"
DATA "SB_CTL","0x2"
DATA "SB_ENDSCROLL","0x8"
DATA "SB_GETBORDERS","(WM_USER+7)"
DATA "SB_GETICON","(WM_USER+20)"
DATA "SB_GETPARTS","(WM_USER+6)"
DATA "SB_GETRECT","(WM_USER+10)"
DATA "SB_GETTEXT","(WM_USER+2)"
DATA "SB_GETTEXTLENGTH","(WM_USER+3)"
DATA "SB_GETTIPTEXT","(WM_USER+18)"
DATA "SB_HORZ","0"
DATA "SB_ISSIMPLE","(WM_USER+14)"
DATA "SB_LEFT","0x6"
DATA "SB_LINEDOWN","0x1"
DATA "SB_LINELEFT","0"
DATA "SB_LINERIGHT","0x1"
DATA "SB_LINEUP","0"
DATA "SB_PAGEDOWN","0x3"
DATA "SB_PAGELEFT","0x2"
DATA "SB_PAGERIGHT","0x3"
DATA "SB_PAGEUP","0x2"
DATA "SB_RIGHT","0x7"
DATA "SB_SETBKCOLOR","0x2001"
DATA "SB_SETICON","(WM_USER+15)"
DATA "SB_SETMINHEIGHT","(WM_USER+8)"
DATA "SB_SETPARTS","(WM_USER+4)"
DATA "SB_SETTEXT","(WM_USER+1)"
DATA "SB_SETTIPTEXT","(WM_USER+16)"
DATA "SB_SETUNICODEFORMAT","0x2005"
DATA "SB_SIMPLE","(WM_USER+9)"
DATA "SB_SIMPLEID","0xFF"
DATA "SB_THUMBPOSITION","0x4"
DATA "SB_THUMBTRACK","0x5"
DATA "SB_TOP","0x6"
DATA "SB_VERT","0x1"
DATA "SBARS_SIZEGRIP","0x100"
DATA "SBARS_TOOLTIPS","0x800"
DATA "SBM_ENABLE_ARROWS","0xE4"
DATA "SBM_GETPOS","0xE1"
DATA "SBM_GETRANGE","0xE3"
DATA "SBM_GETSCROLLBARINFO","0xEB"
DATA "SBM_GETSCROLLINFO","0xEA"
DATA "SBM_SETPOS","0xE0"
DATA "SBM_SETRANGE","0xE2"
DATA "SBM_SETRANGEREDRAW","0xE6"
DATA "SBM_SETSCROLLINFO","0xE9"
DATA "SBS_BOTTOMALIGN","0x4"
DATA "SBS_HORZ","0x0"
DATA "SBS_LEFTALIGN","0x2"
DATA "SBS_RIGHTALIGN","0x4"
DATA "SBS_SIZEBOX","0x8"
DATA "SBS_SIZEBOXBOTTOMRIGHTALIGN","0x4"
DATA "SBS_SIZEBOXTOPLEFTALIGN","0x2"
DATA "SBS_SIZEGRIP","0x10"
DATA "SBS_TOPALIGN","0x2"
DATA "SBS_VERT","0x1"
DATA "END","END"
DATAEND

databegin TabControls
DATA "TCM_FIRST","0x1300"
DATA "TCM_ADJUSTRECT","(TCM_FIRST+40)"
DATA "TCM_DELETEALLITEMS","(TCM_FIRST+9)"
DATA "TCM_DELETEITEM","(TCM_FIRST+8)"
DATA "TCM_DESELECTALL","(TCM_FIRST+50)"
DATA "TCM_GETCURFOCUS","(TCM_FIRST+47)"
DATA "TCM_GETCURSEL","(TCM_FIRST+11)"
DATA "TCM_GETEXTENDEDSTYLE","(TCM_FIRST+53)"
DATA "TCM_GETIMAGELIST","(TCM_FIRST+2)"
DATA "TCM_GETITEM","(TCM_FIRST+5)"
DATA "TCM_GETITEMCOUNT","(TCM_FIRST+4)"
DATA "TCM_GETITEMRECT","(TCM_FIRST+10)"
DATA "TCM_GETROWCOUNT","(TCM_FIRST+44)"
DATA "TCM_GETTOOLTIPS","(TCM_FIRST+45)"
DATA "TCM_HIGHLIGHTITEM","(TCM_FIRST+51)"
DATA "TCM_HITTEST","(TCM_FIRST+13)"
DATA "TCM_INSERTITEM","(TCM_FIRST+7)"
DATA "TCM_REMOVEIMAGE","(TCM_FIRST+42)"
DATA "TCM_SETCURFOCUS","(TCM_FIRST+48)"
DATA "TCM_SETCURSEL","(TCM_FIRST+12)"
DATA "TCM_SETEXTENDEDSTYLE","(TCM_FIRST+52)"
DATA "TCM_SETIMAGELIST","(TCM_FIRST+3)"
DATA "TCM_SETITEM","(TCM_FIRST+6)"
DATA "TCM_SETITEMEXTRA","(TCM_FIRST+14)"
DATA "TCM_SETITEMSIZE","(TCM_FIRST+41)"
DATA "TCM_SETMINTABWIDTH","(TCM_FIRST+49)"
DATA "TCM_SETPADDING","(TCM_FIRST+43)"
DATA "TCM_SETTOOLTIPS","(TCM_FIRST+46)"
DATA "TCN_FIRST","-550"
DATA "TCN_FOCUSCHANGE","(TCN_FIRST-4)"
DATA "TCN_GETOBJECT","(TCN_FIRST-3)"
DATA "TCN_KEYDOWN","(TCN_FIRST-0)"
DATA "TCN_LAST","-580"
DATA "TCN_SELCHANGE","(TCN_FIRST-1)"
DATA "TCN_SELCHANGING","(TCN_FIRST-2)"
DATA "TCS_BOTTOM","0x2"
DATA "TCS_BUTTONS","0x100"
DATA "TCS_EX_FLATSEPARATORS","0x1"
DATA "TCS_EX_REGISTERDROP","0x2"
DATA "TCS_FIXEDWIDTH","0x400"
DATA "TCS_FLATBUTTONS","0x8"
DATA "TCS_FOCUSNEVER","0x8000"
DATA "TCS_FOCUSONBUTTONDOWN","0x1000"
DATA "TCS_FORCEICONLEFT","0x10"
DATA "TCS_FORCELABELLEFT","0x20"
DATA "TCS_HOTTRACK","0x40"
DATA "TCS_MULTILINE","0x200"
DATA "TCS_MULTISELECT","0x4"
DATA "TCS_OWNERDRAWFIXED","0x2000"
DATA "TCS_RAGGEDRIGHT","0x800"
DATA "TCS_RIGHT","0x2"
DATA "TCS_RIGHTJUSTIFY","0x0"
DATA "TCS_SCROLLOPPOSITE","0x1"
DATA "TCS_SINGLELINE","0x0"
DATA "TCS_TABS","0x0"
DATA "TCS_TOOLTIPS","0x4000"
DATA "TCS_VERTICAL","0x80"
DATA "END","END"
DATAEND

databegin Toolbars
DATA "TB_ADDBITMAP","(WM_USER+19)"
DATA "TB_ADDBUTTONS","(WM_USER+20)"
DATA "TB_ADDSTRING","(WM_USER+28)"
DATA "TB_AUTOSIZE","(WM_USER+33)"
DATA "TB_BOTTOM","7"
DATA "TB_BUTTONCOUNT","(WM_USER+24)"
DATA "TB_BUTTONSTRUCTSIZE","(WM_USER+30)"
DATA "TB_CHANGEBITMAP","(WM_USER+43)"
DATA "TB_CHECKBUTTON","(WM_USER+2)"
DATA "TB_COMMANDTOINDEX","(WM_USER+25)"
DATA "TB_CUSTOMIZE","(WM_USER+27)"
DATA "TB_DELETEBUTTON","(WM_USER+22)"
DATA "TB_ENABLEBUTTON","(WM_USER+1)"
DATA "TB_GETANCHORHIGHLIGHT","(WM_USER+74)"
DATA "TB_GETBITMAP","(WM_USER+44)"
DATA "TB_GETBITMAPFLAGS","(WM_USER+41)"
DATA "TB_GETBUTTON","(WM_USER+23)"
DATA "TB_GETBUTTONINFO","(WM_USER+65)"
DATA "TB_GETBUTTONSIZE","(WM_USER+58)"
DATA "TB_GETBUTTONTEXT","(WM_USER+45)"
DATA "TB_GETCOLORSCHEME","0x2003"
DATA "TB_GETDISABLEDIMAGELIST","(WM_USER+55)"
DATA "TB_GETEXTENDEDSTYLE","(WM_USER+85)"
DATA "TB_GETHOTIMAGELIST","(WM_USER+53)"
DATA "TB_GETHOTITEM","(WM_USER+71)"
DATA "TB_GETIMAGELIST","(WM_USER+49)"
DATA "TB_GETINSERTMARK","(WM_USER+79)"
DATA "TB_GETINSERTMARKCOLOR","(WM_USER+89)"
DATA "TB_GETITEMRECT","(WM_USER+29)"
DATA "TB_GETMAXSIZE","(WM_USER+83)"
DATA "TB_GETMETRICS","(WM_USER+101)"
DATA "TB_GETOBJECT","(WM_USER+62)"
DATA "TB_GETPADDING","(WM_USER+86)"
DATA "TB_GETRECT","(WM_USER+51)"
DATA "TB_GETROWS","(WM_USER+40)"
DATA "TB_GETSTATE","(WM_USER+18)"
DATA "TB_GETSTRING","(WM_USER+92)"
DATA "TB_GETSTYLE","(WM_USER+57)"
DATA "TB_GETTEXTROWS","(WM_USER+61)"
DATA "TB_GETTOOLTIPS","(WM_USER+35)"
DATA "TB_HIDEBUTTON","(WM_USER+4)"
DATA "TB_HITTEST","(WM_USER+69)"
DATA "TB_INDETERMINATE","(WM_USER+5)"
DATA "TB_INSERTBUTTON","(WM_USER+21)"
DATA "TB_INSERTMARKHITTEST","(WM_USER+81)"
DATA "TB_ISBUTTONCHECKED","(WM_USER+10)"
DATA "TB_ISBUTTONENABLED","(WM_USER+9)"
DATA "TB_ISBUTTONHIDDEN","(WM_USER+12)"
DATA "TB_ISBUTTONHIGHLIGHTED","(WM_USER+14)"
DATA "TB_ISBUTTONINDETERMINATE","(WM_USER+13)"
DATA "TB_ISBUTTONPRESSED","(WM_USER+11)"
DATA "TB_LINEDOWN","1"
DATA "TB_LINEUP","0"
DATA "TB_LOADIMAGES","(WM_USER+50)"
DATA "TB_MAPACCELERATOR","(WM_USER+78)"
DATA "TB_MARKBUTTON","(WM_USER+6)"
DATA "TB_MOVEBUTTON","(WM_USER+82)"
DATA "TB_PAGEDOWN","3"
DATA "TB_PAGEUP","2"
DATA "TB_PRESSBUTTON","(WM_USER+3)"
DATA "TB_REPLACEBITMAP","(WM_USER+46)"
DATA "TB_SAVERESTORE","(WM_USER+26)"
DATA "TB_SETANCHORHIGHLIGHT","(WM_USER+73)"
DATA "TB_SETBITMAPSIZE","(WM_USER+32)"
DATA "TB_SETBUTTONINFO","(WM_USER+66)"
DATA "TB_SETBUTTONSIZE","(WM_USER+31)"
DATA "TB_SETBUTTONWIDTH","(WM_USER+59)"
DATA "TB_SETCMDID","(WM_USER+42)"
DATA "TB_SETCOLORSCHEME","0x2002"
DATA "TB_SETDISABLEDIMAGELIST","(WM_USER+54)"
DATA "TB_SETDRAWTEXTFLAGS","(WM_USER+70)"
DATA "TB_SETEXTENDEDSTYLE","(WM_USER+84)"
DATA "TB_SETHOTIMAGELIST","(WM_USER+52)"
DATA "TB_SETHOTITEM","(WM_USER+72)"
DATA "TB_SETIMAGELIST","(WM_USER+48)"
DATA "TB_SETINDENT","(WM_USER+47)"
DATA "TB_SETINSERTMARK","(WM_USER+80)"
DATA "TB_SETINSERTMARKCOLOR","(WM_USER+88)"
DATA "TB_SETMAXTEXTROWS","(WM_USER+60)"
DATA "TB_SETMETRICS","(WM_USER+102)"
DATA "TB_SETPADDING","(WM_USER+87)"
DATA "TB_SETPARENT","(WM_USER+37)"
DATA "TB_SETROWS","(WM_USER+39)"
DATA "TB_SETSTATE","(WM_USER+17)"
DATA "TB_SETSTYLE","(WM_USER+56)"
DATA "TB_SETTOOLTIPS","(WM_USER+36)"
DATA "TB_SETWINDOWTHEME","0x2002"
DATA "TB_THUMBPOSITION","4"
DATA "TB_THUMBTRACK","5"
DATA "TB_TOP","6"
DATA "TBCD_CHANNEL","0x3"
DATA "TBCD_THUMB","0x2"
DATA "TBCD_TICS","0x1"
DATA "TBM_CLEARSEL","(WM_USER+19)"
DATA "TBM_CLEARTICS","(WM_USER+9)"
DATA "TBM_GETBUDDY","(WM_USER+33)"
DATA "TBM_GETCHANNELRECT","(WM_USER+26)"
DATA "TBM_GETLINESIZE","(WM_USER+24)"
DATA "TBM_GETNUMTICS","(WM_USER+16)"
DATA "TBM_GETPAGESIZE","(WM_USER+22)"
DATA "TBM_GETPOS","(WM_USER)"
DATA "TBM_GETPTICS","(WM_USER+14)"
DATA "TBM_GETRANGEMAX","(WM_USER+2)"
DATA "TBM_GETRANGEMIN","(WM_USER+1)"
DATA "TBM_GETSELEND","(WM_USER+18)"
DATA "TBM_GETSELSTART","(WM_USER+17)"
DATA "TBM_GETTHUMBLENGTH","(WM_USER+28)"
DATA "TBM_GETTHUMBRECT","(WM_USER+25)"
DATA "TBM_GETTIC","(WM_USER+3)"
DATA "TBM_GETTICPOS","(WM_USER+15)"
DATA "TBM_GETTOOLTIPS","(WM_USER+30)"
DATA "TBM_SETBUDDY","(WM_USER+32)"
DATA "TBM_SETLINESIZE","(WM_USER+23)"
DATA "TBM_SETPAGESIZE","(WM_USER+21)"
DATA "TBM_SETPOS","(WM_USER+5)"
DATA "TBM_SETRANGE","(WM_USER+6)"
DATA "TBM_SETRANGEMAX","(WM_USER+8)"
DATA "TBM_SETRANGEMIN","(WM_USER+7)"
DATA "TBM_SETSEL","(WM_USER+10)"
DATA "TBM_SETSELEND","(WM_USER+12)"
DATA "TBM_SETSELSTART","(WM_USER+11)"
DATA "TBM_SETTHUMBLENGTH","(WM_USER+27)"
DATA "TBM_SETTIC","(WM_USER+4)"
DATA "TBM_SETTICFREQ","(WM_USER+20)"
DATA "TBM_SETTIPSIDE","(WM_USER+31)"
DATA "TBM_SETTOOLTIPS","(WM_USER+29)"
DATA "TBN_FIRST","-700"
DATA "TBN_BEGINADJUST","(TBN_FIRST-3)"
DATA "TBN_BEGINDRAG","(TBN_FIRST-1)"
DATA "TBN_CUSTHELP","(TBN_FIRST-9)"
DATA "TBN_DELETINGBUTTON","(TBN_FIRST-15)"
DATA "TBN_DRAGOUT","(TBN_FIRST-14)"
DATA "TBN_DROPDOWN","(TBN_FIRST-10)"
DATA "TBN_ENDADJUST","(TBN_FIRST-4)"
DATA "TBN_ENDDRAG","(TBN_FIRST-2)"
DATA "TBN_GETBUTTONINFO","(TBN_FIRST-0)"
DATA "TBN_GETDISPINFO","(TBN_FIRST-16)"
DATA "TBN_GETINFOTIP","(TBN_FIRST-18)"
DATA "TBN_GETOBJECT","(TBN_FIRST-12)"
DATA "TBN_HOTITEMCHANGE","(TBN_FIRST-13)"
DATA "TBN_INITCUSTOMIZE","(TBN_FIRST-23)"
DATA "TBN_LAST","-720"
DATA "TBN_QUERYDELETE","(TBN_FIRST-7)"
DATA "TBN_QUERYINSERT","(TBN_FIRST-6)"
DATA "TBN_RESET","(TBN_FIRST-5)"
DATA "TBN_RESTORE","(TBN_FIRST-21)"
DATA "TBN_SAVE","(TBN_FIRST-22)"
DATA "TBN_TOOLBARCHANGE","(TBN_FIRST-8)"
DATA "TBS_AUTOTICKS","0x0001"
DATA "TBS_BOTH","0x0008"
DATA "TBS_BOTTOM","0x0000"
DATA "TBS_DOWNISLEFT","0x0400"
DATA "TBS_ENABLESELRANGE","0x0020"
DATA "TBS_FIXEDLENGTH","0x0040"
DATA "TBS_HORZ","0x0000"
DATA "TBS_LEFT","0x0004"
DATA "TBS_NOTHUMB","0x0080"
DATA "TBS_NOTICKS","0x0010"
DATA "TBS_REVERSED","0x0200"
DATA "TBS_RIGHT","0x0000"
DATA "TBS_TOOLTIPS","0x0100"
DATA "TBS_TOP","0x0004"
DATA "TBS_VERT","0x0002"
DATA "TBSTATE_CHECKED","0x1"
DATA "TBSTATE_ELLIPSES","0x40"
DATA "TBSTATE_ENABLED","0x4"
DATA "TBSTATE_HIDDEN","0x8"
DATA "TBSTATE_INDETERMINATE","0x10"
DATA "TBSTATE_MARKED","0x80"
DATA "TBSTATE_PRESSED","0x2"
DATA "TBSTATE_WRAP","0x20"
DATA "TBSTYLE_ALTDRAG","0x400"
DATA "TBSTYLE_AUTOSIZE","0x10"
DATA "TBSTYLE_BUTTON","0x0"
DATA "TBSTYLE_CHECK","0x2"
DATA "TBSTYLE_CUSTOMERASE","0x2000"
DATA "TBSTYLE_DROPDOWN","0x8"
DATA "TBSTYLE_EX_DOUBLEBUFFER","0x80"
DATA "TBSTYLE_EX_DRAWDDARROWS","0x1"
DATA "TBSTYLE_EX_HIDECLIPPEDBUTTONS","0x10"
DATA "TBSTYLE_EX_MIXEDBUTTONS","0x8"
DATA "TBSTYLE_FLAT","0x800"
DATA "TBSTYLE_GROUP","0x4"
DATA "TBSTYLE_LIST","0x1000"
DATA "TBSTYLE_NOPREFIX","0x20"
DATA "TBSTYLE_REGISTERDROP","0x4000"
DATA "TBSTYLE_SEP","0x1"
DATA "TBSTYLE_TOOLTIPS","0x100"
DATA "TBSTYLE_TRANSPARENT","0x8000"
DATA "TBSTYLE_WRAPABLE","0x200"
DATA "TBSTYLE_CHECKGROUP","(TBSTYLE_GROUP|TBSTYLE_CHECK)"
DATA "END","END"
DATAEND

databegin Tooltips
DATA "TTM_ACTIVATE","(WM_USER+1)"
DATA "TTM_ADDTOOL","(WM_USER+4)"
DATA "TTM_ADJUSTRECT","(WM_USER+31)"
DATA "TTM_DELTOOL","(WM_USER+5)"
DATA "TTM_ENUMTOOLS","(WM_USER+14)"
DATA "TTM_GETBUBBLESIZE","(WM_USER+30)"
DATA "TTM_GETCURRENTTOOL","(WM_USER+15)"
DATA "TTM_GETDELAYTIME","(WM_USER+21)"
DATA "TTM_GETMARGIN","(WM_USER+27)"
DATA "TTM_GETMAXTIPWIDTH","(WM_USER+25)"
DATA "TTM_GETTEXT","(WM_USER+11)"
DATA "TTM_GETTITLE","(WM_USER+35)"
DATA "TTM_GETTIPBKCOLOR","(WM_USER+22)"
DATA "TTM_GETTIPTEXTCOLOR","(WM_USER+23)"
DATA "TTM_GETTOOLCOUNT","(WM_USER+13)"
DATA "TTM_GETTOOLINFO","(WM_USER+8)"
DATA "TTM_HITTEST","(WM_USER+10)"
DATA "TTM_NEWTOOLRECT","(WM_USER+6)"
DATA "TTM_POP","(WM_USER+28)"
DATA "TTM_POPUP","(WM_USER+34)"
DATA "TTM_RELAYEVENT","(WM_USER+7)"
DATA "TTM_SETDELAYTIME","(WM_USER+3)"
DATA "TTM_SETMARGIN","(WM_USER+26)"
DATA "TTM_SETMAXTIPWIDTH","(WM_USER+24)"
DATA "TTM_SETTIPBKCOLOR","(WM_USER+19)"
DATA "TTM_SETTIPTEXTCOLOR","(WM_USER+20)"
DATA "TTM_SETTITLE","(WM_USER+32)"
DATA "TTM_SETTOOLINFO","(WM_USER+9)"
DATA "TTM_SETWINDOWTHEME","0x200B"
DATA "TTM_TRACKACTIVATE","(WM_USER+17)"
DATA "TTM_TRACKPOSITION","(WM_USER+18)"
DATA "TTM_UPDATE","(WM_USER+29)"
DATA "TTM_UPDATETIPTEXT","(WM_USER+12)"
DATA "TTM_WINDOWFROMPOINT","(WM_USER+16)"
DATA "TTN_FIRST","-520"
DATA "TTN_GETDISPINFO","(TTN_FIRST-0)"
DATA "TTN_LAST","-549"
DATA "TTN_LINKCLICK","(TTN_FIRST-3)"
DATA "TTN_NEEDTEXT","(TTN_GETDISPINFO)"
DATA "TTN_POP","(TTN_FIRST-2)"
DATA "TTN_SHOW","(TTN_FIRST-1)"
DATA "TTS_ALWAYSTIP","0x1"
DATA "TTS_BALLOON","0x40"
DATA "TTS_CLOSE","0x80"
DATA "TTS_NOANIMATE","0x10"
DATA "TTS_NOFADE","0x20"
DATA "TTS_NOPREFIX","0x2"
DATA "END","END"
DATAEND

databegin Treeviews
DATA "TV_FIRST","0x1100"
DATA "TVC_BYKEYBOARD","0x2"
DATA "TVC_BYMOUSE","0x1"
DATA "TVC_UNKNOWN","0"
DATA "TVE_COLLAPSE","0x0001"
DATA "TVE_COLLAPSERESET","0x8000"
DATA "TVE_EXPAND","0x0002"
DATA "TVE_EXPANDPARTIAL","0x4000"
DATA "TVE_TOGGLE","0x0003"
DATA "TVGN_CARET","0x9"
DATA "TVGN_CHILD","0x4"
DATA "TVGN_DROPHILITE","0x8"
DATA "TVGN_FIRSTVISIBLE","0x5"
DATA "TVGN_LASTVISIBLE","0xA"
DATA "TVGN_NEXT","0x1"
DATA "TVGN_NEXTVISIBLE","0x6"
DATA "TVGN_PARENT","0x3"
DATA "TVGN_PREVIOUS","0x2"
DATA "TVGN_PREVIOUSVISIBLE","0x7"
DATA "TVGN_ROOT","0"
DATA "TVHT_ABOVE","256"
DATA "TVHT_BELOW","512"
DATA "TVHT_NOWHERE","0x1"
DATA "TVHT_ONITEMBUTTON","16"
DATA "TVHT_ONITEMICON","0x2"
DATA "TVHT_ONITEMINDENT","0x8"
DATA "TVHT_ONITEMLABEL","0x4"
DATA "TVHT_ONITEMRIGHT","32"
DATA "TVHT_ONITEMSTATEICON","64"
DATA "TVHT_TOLEFT","2048"
DATA "TVHT_TORIGHT","1024"
DATA "TVHT_ONITEM","(TVHT_ONITEMICON|TVHT_ONITEMLABEL|TVHT_ONITEMSTATEICON)"
DATA "TVI_FIRST","-65535"
DATA "TVI_LAST","-65534"
DATA "TVI_ROOT","-65536"
DATA "TVI_SORT","-65533"
DATA "TVIF_CHILDREN","64"
DATA "TVIF_HANDLE","16"
DATA "TVIF_IMAGE","2"
DATA "TVIF_INTEGRAL","128"
DATA "TVIF_PARAM","4"
DATA "TVIF_SELECTEDIMAGE","32"
DATA "TVIF_STATE","8"
DATA "TVIF_TEXT","1"
DATA "TVIS_BOLD","16"
DATA "TVIS_CUT","4"
DATA "TVIS_DROPHILITED","8"
DATA "TVIS_EXPANDED","32"
DATA "TVIS_EXPANDEDONCE","64"
DATA "TVIS_FOCUSED","1"
DATA "TVIS_OVERLAYMASK","0xf00"
DATA "TVIS_SELECTED","2"
DATA "TVIS_STATEIMAGEMASK","0xf000"
DATA "TVIS_USERMASK","0xf000"
DATA "TVM_CREATEDRAGIMAGE","4370"
DATA "TVM_DELETEITEM","4353"
DATA "TVM_EDITLABEL","4366"
DATA "TVM_ENDEDITLABELNOW","4374"
DATA "TVM_ENSUREVISIBLE","4372"
DATA "TVM_EXPAND","4354"
DATA "TVM_FIRST","0x1100"
DATA "TVM_GETBKCOLOR","(TV_FIRST+31)"
DATA "TVM_GETCOUNT","4357"
DATA "TVM_GETEDITCONTROL","4367"
DATA "TVM_GETIMAGELIST","4360"
DATA "TVM_GETINDENT","4358"
DATA "TVM_GETINSERTMARKCOLOR","(TV_FIRST+38)"
DATA "TVM_GETISEARCHSTRING","4375"
DATA "TVM_GETITEM","4364"
DATA "TVM_GETITEMHEIGHT","(TV_FIRST+28)"
DATA "TVM_GETITEMRECT","4356"
DATA "TVM_GETITEMSTATE","(TV_FIRST+39)"
DATA "TVM_GETLINECOLOR","(TV_FIRST+41)"
DATA "TVM_GETNEXTITEM","4362"
DATA "TVM_GETSCROLLTIME","(TV_FIRST+34)"
DATA "TVM_GETTEXTCOLOR","(TV_FIRST+32)"
DATA "TVM_GETTOOLTIPS","(TV_FIRST+25)"
DATA "TVM_GETVISIBLECOUNT","4368"
DATA "TVM_HITTEST","4369"
DATA "TVM_INSERTITEM","(TV_FIRST)"
DATA "TVM_MAPACCIDTOHTREEITEM","(TV_FIRST+42)"
DATA "TVM_MAPHTREEITEMTOACCID","(TV_FIRST+43)"
DATA "TVM_SELECTITEM","4363"
DATA "TVM_SETBKCOLOR","(TV_FIRST+29)"
DATA "TVM_SETIMAGELIST","4361"
DATA "TVM_SETINDENT","4359"
DATA "TVM_SETINSERTMARK","(TV_FIRST+26)"
DATA "TVM_SETINSERTMARKCOLOR","(TV_FIRST+37)"
DATA "TVM_SETITEM","4365"
DATA "TVM_SETITEMHEIGHT","(TV_FIRST+27)"
DATA "TVM_SETLINECOLOR","(TV_FIRST+40)"
DATA "TVM_SETSCROLLTIME","(TV_FIRST+33)"
DATA "TVM_SETTEXTCOLOR","(TV_FIRST+30)"
DATA "TVM_SETTOOLTIPS","(TV_FIRST+24)"
DATA "TVN_SINGLEEXPAND","(TVN_FIRST-15)"
DATA "TVM_SORTCHILDREN","4371"
DATA "TVM_SORTCHILDRENCB","4373"
DATA "TVS_CHECKBOXES","0x100"
DATA "TVS_DISABLEDRAGDROP","16"
DATA "TVS_EDITLABELS","8"
DATA "TVS_FULLROWSELECT","0x1000"
DATA "TVS_HASBUTTONS","1"
DATA "TVS_HASLINES","2"
DATA "TVS_INFOTIP","0x800"
DATA "TVS_LINESATROOT","4"
DATA "TVS_NOHSCROLL","0x8000"
DATA "TVS_NONEVENHEIGHT","0x4000"
DATA "TVS_NOSCROLL","0x2000"
DATA "TVS_NOTOOLTIPS","0x80"
DATA "TVS_RTLREADING","64"
DATA "TVS_SHOWSELALWAYS","32"
DATA "TVS_SINGLEEXPAND","0x400"
DATA "TVS_TRACKSELECT","0x200"
DATA "END","END"
DATAEND

databegin Listbox
DATA "LB_ADDFILE","0x196"
DATA "LB_ADDSTRING","0x180"
DATA "LB_CTLCODE","0"
DATA "LB_DELETESTRING","0x182"
DATA "LB_DIR","0x18D"
DATA "LB_ERR","-1"
DATA "LB_ERRSPACE","-2"
DATA "LB_FINDSTRING","0x18F"
DATA "LB_FINDSTRINGEXACT","0x1A2"
DATA "LB_GETANCHORINDEX","0x19D"
DATA "LB_GETCARETINDEX","0x19F"
DATA "LB_GETCOUNT","0x18B"
DATA "LB_GETCURSEL","0x188"
DATA "LB_GETHORIZONTALEXTENT","0x193"
DATA "LB_GETITEMDATA","0x199"
DATA "LB_GETITEMHEIGHT","0x1A1"
DATA "LB_GETITEMRECT","0x198"
DATA "LB_GETLOCALE","0x1A6"
DATA "LB_GETSEL","0x187"
DATA "LB_GETSELCOUNT","0x190"
DATA "LB_GETSELITEMS","0x191"
DATA "LB_GETTEXT","0x189"
DATA "LB_GETTEXTLEN","0x18A"
DATA "LB_GETTOPINDEX","0x18E"
DATA "LB_INITSTORAGE","0x1A8"
DATA "LB_INSERTSTRING","0x181"
DATA "LB_ITEMFROMPOINT","0x1A9"
DATA "LB_MSGMAX","0x1A8"
DATA "LB_MULTIPLEADDSTRING","0x1B1"
DATA "LB_OKAY","0"
DATA "LB_RESETCONTENT","0x184"
DATA "LB_SELECTSTRING","0x18C"
DATA "LB_SELITEMRANGE","0x19B"
DATA "LB_SELITEMRANGEEX","0x183"
DATA "LB_SETANCHORINDEX","0x19C"
DATA "LB_SETCARETINDEX","0x19E"
DATA "LB_SETCOLUMNWIDTH","0x195"
DATA "LB_SETCOUNT","0x1A7"
DATA "LB_SETCURSEL","0x186"
DATA "LB_SETHORIZONTALEXTENT","0x194"
DATA "LB_SETITEMDATA","0x19A"
DATA "LB_SETITEMHEIGHT","0x1A0"
DATA "LB_SETLOCALE","0x1A5"
DATA "LB_SETSEL","0x185"
DATA "LB_SETTABSTOPS","0x192"
DATA "LB_SETTOPINDEX","0x197"
DATA "LBN_DBLCLK","2"
DATA "LBN_ERRSPACE","-2"
DATA "LBN_KILLFOCUS","0x5"
DATA "LBN_SELCANCEL","0x3"
DATA "LBN_SELCHANGE","0x1"
DATA "LBN_SETFOCUS","0x4"
DATA "LBS_DISABLENOSCROLL","0x1000"
DATA "LBS_EXTENDEDSEL","0x800"
DATA "LBS_HASSTRINGS","0x40"
DATA "LBS_MULTICOLUMN","0x200"
DATA "LBS_MULTIPLESEL","0x8"
DATA "LBS_NODATA","0x2000"
DATA "LBS_NOINTEGRALHEIGHT","0x100"
DATA "LBS_NOREDRAW","0x4"
DATA "LBS_NOSEL","0x4000"
DATA "LBS_NOTIFY","0x1"
DATA "LBS_OWNERDRAWFIXED","0x10"
DATA "LBS_OWNERDRAWVARIABLE","0x20"
DATA "LBS_SORT","0x2"
DATA "LBS_USETABSTOPS","0x80"
DATA "LBS_WANTKEYBOARDINPUT","0x400"
DATA "LBS_STANDARD","(LBS_NOTIFY|LBS_SORT|0x115|0x800000)"
DATA "END","END"
DATAEND

databegin ListViews
DATA "LVM_FIRST","0x1000"
DATA "LVM_APPROXIMATEVIEWRECT","(LVM_FIRST+64)"
DATA "LVM_ARRANGE","(LVM_FIRST+22)"
DATA "LVM_CANCELEDITLABEL","(LVM_FIRST+179)"
DATA "LVM_CREATEDRAGIMAGE","(LVM_FIRST+33)"
DATA "LVM_DELETEALLITEMS","(LVM_FIRST+9)"
DATA "LVM_DELETECOLUMN","(LVM_FIRST+28)"
DATA "LVM_DELETEITEM","(LVM_FIRST+8)"
DATA "LVM_EDITLABEL","(LVM_FIRST+23)"
DATA "LVM_ENABLEGROUPVIEW","(LVM_FIRST+157)"
DATA "LVM_ENSUREVISIBLE","(LVM_FIRST+19)"
DATA "LVM_FINDITEM","(LVM_FIRST+13)"
DATA "LVM_GETBKCOLOR","(LVM_FIRST+0)"
DATA "LVM_GETBKIMAGE","(LVM_FIRST+69)"
DATA "LVM_GETCALLBACKMASK","(LVM_FIRST+10)"
DATA "LVM_GETCOLUMN","(LVM_FIRST+25)"
DATA "LVM_GETCOLUMNORDERARRAY","(LVM_FIRST+59)"
DATA "LVM_GETCOLUMNWIDTH","(LVM_FIRST+29)"
DATA "LVM_GETCOUNTPERPAGE","(LVM_FIRST+40)"
DATA "LVM_GETEDITCONTROL","(LVM_FIRST+24)"
DATA "LVM_GETEXTENDEDLISTVIEWSTYLE","(LVM_FIRST+55)"
DATA "LVM_GETGROUPINFO","(LVM_FIRST+149)"
DATA "LVM_GETGROUPMETRICS","(LVM_FIRST+156)"
DATA "LVM_GETHEADER","(LVM_FIRST+31)"
DATA "LVM_GETHOTCURSOR","(LVM_FIRST+63)"
DATA "LVM_GETHOTITEM","(LVM_FIRST+61)"
DATA "LVM_GETHOVERTIME","(LVM_FIRST+72)"
DATA "LVM_GETIMAGELIST","(LVM_FIRST+2)"
DATA "LVM_GETINSERTMARK","(LVM_FIRST+167)"
DATA "LVM_GETINSERTMARKCOLOR","(LVM_FIRST+171)"
DATA "LVM_GETINSERTMARKRECT","(LVM_FIRST+169)"
DATA "LVM_GETISEARCHSTRING","(LVM_FIRST+52)"
DATA "LVM_GETITEM","(LVM_FIRST+5)"
DATA "LVM_GETITEMCOUNT","(LVM_FIRST+4)"
DATA "LVM_GETITEMPOSITION","(LVM_FIRST+16)"
DATA "LVM_GETITEMRECT","(LVM_FIRST+14)"
DATA "LVM_GETITEMSPACING","(LVM_FIRST+51)"
DATA "LVM_GETITEMSTATE","(LVM_FIRST+44)"
DATA "LVM_GETITEMTEXT","(LVM_FIRST+45)"
DATA "LVM_GETNEXTITEM","(LVM_FIRST+12)"
DATA "LVM_GETNUMBEROFWORKAREAS","(LVM_FIRST+73)"
DATA "LVM_GETORIGIN","(LVM_FIRST+41)"
DATA "LVM_GETOUTLINECOLOR","(LVM_FIRST+176)"
DATA "LVM_GETSELECTEDCOLUMN","(LVM_FIRST+174)"
DATA "LVM_GETSELECTEDCOUNT","(LVM_FIRST+50)"
DATA "LVM_GETSELECTIONMARK","(LVM_FIRST+66)"
DATA "LVM_GETSTRINGWIDTH","(LVM_FIRST+17)"
DATA "LVM_GETSUBITEMRECT","(LVM_FIRST+56)"
DATA "LVM_GETTEXTBKCOLOR","(LVM_FIRST+37)"
DATA "LVM_GETTEXTCOLOR","(LVM_FIRST+35)"
DATA "LVM_GETTILEINFO","(LVM_FIRST+165)"
DATA "LVM_GETTILEVIEWINFO","(LVM_FIRST+163)"
DATA "LVM_GETTOOLTIPS","(LVM_FIRST+78)"
DATA "LVM_GETTOPINDEX","(LVM_FIRST+39)"
DATA "LVM_GETUNICODEFORMAT","(CCM_GETUNICODEFORMAT)"
DATA "LVM_GETVIEW","(LVM_FIRST+143)"
DATA "LVM_GETVIEWRECT","(LVM_FIRST+34)"
DATA "LVM_GETWORKAREAS","(LVM_FIRST+70)"
DATA "LVM_HASGROUP","(LVM_FIRST+161)"
DATA "LVM_HITTEST","(LVM_FIRST+18)"
DATA "LVM_INSERTCOLUMN","(LVM_FIRST+27)"
DATA "LVM_INSERTGROUP","(LVM_FIRST+145)"
DATA "LVM_INSERTGROUPSORTED","(LVM_FIRST+159)"
DATA "LVM_INSERTITEM","(LVM_FIRST+7)"
DATA "LVM_INSERTMARKHITTEST","(LVM_FIRST+168)"
DATA "LVM_ISGROUPVIEWENABLED","(LVM_FIRST+175)"
DATA "LVM_MAPIDTOINDEX","(LVM_FIRST+181)"
DATA "LVM_MAPINDEXTOID","(LVM_FIRST+180)"
DATA "LVM_MOVEGROUP","(LVM_FIRST+151)"
DATA "LVM_MOVEITEMTOGROUP","(LVM_FIRST+154)"
DATA "LVM_REDRAWITEMS","(LVM_FIRST+21)"
DATA "LVM_REMOVEALLGROUPS","(LVM_FIRST+160)"
DATA "LVM_REMOVEGROUP","(LVM_FIRST+150)"
DATA "LVM_SCROLL","(LVM_FIRST+20)"
DATA "LVM_SETBKCOLOR","(LVM_FIRST+1)"
DATA "LVM_SETBKIMAGE","(LVM_FIRST+68)"
DATA "LVM_SETCALLBACKMASK","(LVM_FIRST+11)"
DATA "LVM_SETCOLUMN","(LVM_FIRST+26)"
DATA "LVM_SETCOLUMNORDERARRAY","(LVM_FIRST+58)"
DATA "LVM_SETCOLUMNWIDTH","(LVM_FIRST+30)"
DATA "LVM_SETEXTENDEDLISTVIEWSTYLE","(LVM_FIRST+54)"
DATA "LVM_SETGROUPINFO","(LVM_FIRST+147)"
DATA "LVM_SETGROUPMETRICS","(LVM_FIRST+155)"
DATA "LVM_SETHOTCURSOR","(LVM_FIRST+62)"
DATA "LVM_SETHOTITEM","(LVM_FIRST+60)"
DATA "LVM_SETHOVERTIME","(LVM_FIRST+71)"
DATA "LVM_SETICONSPACING","(LVM_FIRST+53)"
DATA "LVM_SETIMAGELIST","(LVM_FIRST+3)"
DATA "LVM_SETINFOTIP","(LVM_FIRST+173)"
DATA "LVM_SETINSERTMARK","(LVM_FIRST+166)"
DATA "LVM_SETINSERTMARKCOLOR","(LVM_FIRST+170)"
DATA "LVM_SETITEM","(LVM_FIRST+6)"
DATA "LVM_SETITEMCOUNT","(LVM_FIRST+47)"
DATA "LVM_SETITEMPOSITION","(LVM_FIRST+15)"
DATA "LVM_SETITEMPOSITION32","(LVM_FIRST+49)"
DATA "LVM_SETITEMSTATE","(LVM_FIRST+43)"
DATA "LVM_SETITEMTEXT","(LVM_FIRST+46)"
DATA "LVM_SETOUTLINECOLOR","(LVM_FIRST+177)"
DATA "LVM_SETSELECTEDCOLUMN","(LVM_FIRST+140)"
DATA "LVM_SETSELECTIONMARK","(LVM_FIRST+67)"
DATA "LVM_SETTEXTBKCOLOR","(LVM_FIRST+38)"
DATA "LVM_SETTEXTCOLOR","(LVM_FIRST+36)"
DATA "LVM_SETTILEINFO","(LVM_FIRST+164)"
DATA "LVM_SETTILEVIEWINFO","(LVM_FIRST+162)"
DATA "LVM_SETTILEWIDTH","(LVM_FIRST+141)"
DATA "LVM_SETTOOLTIPS","(LVM_FIRST+74)"
DATA "LVM_SETUNICODEFORMAT","(CCM_SETUNICODEFORMAT)"
DATA "LVM_SETVIEW","(LVM_FIRST+142)"
DATA "LVM_SETWORKAREAS","(LVM_FIRST+65)"
DATA "LVM_SORTGROUPS","(LVM_FIRST+158)"
DATA "LVM_SORTITEMS","(LVM_FIRST+48)"
DATA "LVM_SORTITEMSEX","(LVM_FIRST+81)"
DATA "LVM_SUBITEMHITTEST","(LVM_FIRST+57)"
DATA "LVM_UPDATE","(LVM_FIRST+42)"
DATA "LVS_ALIGNLEFT","0x800"
DATA "LVS_ALIGNMASK","0xc00"
DATA "LVS_ALIGNTOP","0x0"
DATA "LVS_AUTOARRANGE","0x100"
DATA "LVS_EDITLABELS","0x200"
DATA "LVS_EX_BORDERSELECT","0x8000"
DATA "LVS_EX_CHECKBOXES","0x4"
DATA "LVS_EX_DOUBLEBUFFER","0x10000"
DATA "LVS_EX_FLATSB","0x100"
DATA "LVS_EX_FULLROWSELECT","0x020"
DATA "LVS_EX_GRIDLINES","0x1"
DATA "LVS_EX_HEADERDRAGDROP","0x10"
DATA "LVS_EX_HIDELABELS","0x20000"
DATA "LVS_EX_INFOTIP","0x400"
DATA "LVS_EX_LABELTIP","0x4000"
DATA "LVS_EX_MULTIWORKAREAS","0x2000"
DATA "LVS_EX_ONECLICKACTIVATE","0x40"
DATA "LVS_EX_REGIONAL","0x200"
DATA "LVS_EX_SINGLEROW","0x40000"
DATA "LVS_EX_SNAPTOGRID","0x80000"
DATA "LVS_EX_SUBITEMIMAGES","0x2"
DATA "LVS_EX_TRACKSELECT","0x8"
DATA "LVS_EX_TWOCLICKACTIVATE","0x80"
DATA "LVS_EX_UNDERLINECOLD","0x1000"
DATA "LVS_EX_UNDERLINEHOT","0x800"
DATA "LVS_ICON","0x0"
DATA "LVS_LIST","0x3"
DATA "LVS_NOCOLUMNHEADER","0x4000"
DATA "LVS_NOLABELWRAP","0x80"
DATA "LVS_NOSCROLL","0x2000"
DATA "LVS_NOSORTHEADER","0x8000"
DATA "LVS_OWNERDATA","0x1000"
DATA "LVS_OWNERDRAWFIXED","0x400"
DATA "LVS_REPORT","0x1"
DATA "LVS_SHAREIMAGELISTS","0x40"
DATA "LVS_SHOWSELALWAYS","0x8"
DATA "LVS_SINGLESEL","0x4"
DATA "LVS_SMALLICON","0x2"
DATA "LVS_SORTASCENDING","0x10"
DATA "LVS_SORTDESCENDING","0x20"
DATA "LVS_TYPEMASK","0x3"
DATA "LVS_TYPESTYLEMASK","0xfc00"
DATA "END","END"
DATAEND

databegin Messageboxes
DATA "MB_ABORTRETRYIGNORE","0x2"
DATA "MB_APPLMODAL","0x0"
DATA "MB_CANCELTRYCONTINUE","0x6"
DATA "MB_COMPOSITE","0x2"
DATA "MB_DEFAULT_DESKTOP_ONLY","0x20000"
DATA "MB_DEFBUTTON1","0x0"
DATA "MB_DEFBUTTON2","0x100"
DATA "MB_DEFBUTTON3","0x200"
DATA "MB_DEFBUTTON4","0x300"
DATA "MB_DEFMASK","0xF00"
DATA "MB_ERR_INVALID_CHARS","0x8"
DATA "MB_FUNC","0x4000"
DATA "MB_FUNC_STR","0"
DATA "MB_HELP","0x4000"
DATA "MB_ICONASTERISK","0x40"
DATA "MB_ICONERROR","0x10"
DATA "MB_ICONEXCLAMATION","0x30"
DATA "MB_ICONHAND","0x10"
DATA "MB_ICONINFORMATION","(MB_ICONASTERISK)"
DATA "MB_ICONMASK","0xF0"
DATA "MB_ICONQUESTION","0x20"
DATA "MB_ICONSTOP","(MB_ICONHAND)"
DATA "MB_ICONWARNING","(MB_ICONEXCLAMATION)"
DATA "MB_MISCMASK","0xC000"
DATA "MB_MODEMASK","0x3000"
DATA "MB_NOFOCUS","0x8000"
DATA "MB_OK","0x0"
DATA "MB_OKCANCEL","0x1"
DATA "MB_PRECOMPOSED","0x1"
DATA "MB_RETRYCANCEL","0x5"
DATA "MB_RIGHT","0x80000"
DATA "MB_RTLREADING","0x100000"
DATA "MB_SERVICE_NOTIFICATION","0x40000"
DATA "MB_SERVICE_NOTIFICATION_NT3X","0x40000"
DATA "MB_SETFOREGROUND","0x10000"
DATA "MB_SYSTEMMODAL","0x1000"
DATA "MB_TASKMODAL","0x2000"
DATA "MB_TOPMOST","0x40000"
DATA "MB_TYPEMASK","0xF"
DATA "MB_USEGLYPHCHARS","0x4"
DATA "MB_USERICON","0x80"
DATA "MB_YESNO","0x4"
DATA "MB_YESNOCANCEL","0x3"
DATA "END","END"
DATAEND

databegin Buttons
DATA "BM_CLICK","0x00F5"
DATA "BM_GETCHECK","0x00F0"
DATA "BM_GETIMAGE","0x00F6"
DATA "BM_GETSTATE","0x00F2"
DATA "BM_SETCHECK","0x00F1"
DATA "BM_SETIMAGE","0x00F7"
DATA "BM_SETSTATE","0x00F3"
DATA "BM_SETSTYLE","0x00F4"
DATA "BN_CLICKED","0"
DATA "BN_DBLCLK","5"
DATA "BN_DISABLE","4"
DATA "BN_DOUBLECLICKED","5"
DATA "BN_HILITE","2"
DATA "BN_KILLFOCUS","7"
DATA "BN_PAINT","1"
DATA "BN_PUSHED","(BN_HILITE)"
DATA "BN_SETFOCUS","6"
DATA "BN_UNHILITE","3"
DATA "BN_UNPUSHED","(BN_UNHILITE)"
DATA "BS_3STATE","0x00000005"
DATA "BS_AUTO3STATE","0x00000006"
DATA "BS_AUTOCHECKBOX","0x00000003"
DATA "BS_AUTORADIOBUTTON","0x00000009"
DATA "BS_BITMAP","0x00000080"
DATA "BS_BOTTOM","0x00000800"
DATA "BS_CENTER","0x00000300"
DATA "BS_CHECKBOX","0x00000002"
DATA "BS_DEFPUSHBUTTON","0x00000001"
DATA "BS_FLAT","0x00008000"
DATA "BS_GROUPBOX","0x00000007"
DATA "BS_ICON","0x00000040"
DATA "BS_LEFT","0x00000100"
DATA "BS_LEFTTEXT","0x00000020"
DATA "BS_MULTILINE","0x00002000"
DATA "BS_NOTIFY","0x00004000"
DATA "BS_OWNERDRAW","0x0000000B"
DATA "BS_PUSHBOX","0x0000000A"
DATA "BS_PUSHBUTTON","0x00000000"
DATA "BS_PUSHLIKE","0x00001000"
DATA "BS_RADIOBUTTON","0x00000004"
DATA "BS_RIGHT","0x00000200"
DATA "BS_RIGHTBUTTON","(BS_LEFTTEXT)"
DATA "BS_TEXT","0x00000000"
DATA "BS_TOP","0x00000400"
DATA "BS_USERBUTTON","0x00000008"
DATA "BS_VCENTER","0x00000C00"
DATA "BST_CHECKED","0x0001"
DATA "BST_FOCUS","0x0008"
DATA "BST_INDETERMINATE","0x0002"
DATA "BST_PUSHED","0x0004"
DATA "BST_UNCHECKED","0x0000"
DATA "END","END"
DATAEND

databegin ComboBoxes
DATA "CBEN_FIRST","-800"
DATA "CCM_FIRST","0x2000"
DATA "CB_ADDSTRING","0x143"
DATA "CB_BYTEARRAY","0"
DATA "CB_DELETESTRING","0x144"
DATA "CB_DIR","0x145"
DATA "CB_ERR","-1"
DATA "CB_ERRSPACE","-2"
DATA "CB_FINDSTRING","0x14C"
DATA "CB_FINDSTRINGEXACT","0x158"
DATA "CB_GETCOMBOBOXINFO","0x164"
DATA "CB_GETCOUNT","0x146"
DATA "CB_GETCURSEL","0x147"
DATA "CB_GETDROPPEDCONTROLRECT","0x152"
DATA "CB_GETDROPPEDSTATE","0x157"
DATA "CB_GETDROPPEDWIDTH","0x15f"
DATA "CB_GETEDITSEL","0x140"
DATA "CB_GETEXTENDEDUI","0x156"
DATA "CB_GETHORIZONTALEXTENT","0x15d"
DATA "CB_GETITEMDATA","0x150"
DATA "CB_GETITEMHEIGHT","0x154"
DATA "CB_GETLBTEXT","0x148"
DATA "CB_GETLBTEXTLEN","0x149"
DATA "CB_GETLOCALE","0x15A"
DATA "CB_GETTOPINDEX","0x15b"
DATA "CB_INITSTORAGE","0x161"
DATA "CB_INSERTSTRING","0x14A"
DATA "CB_LIMITTEXT","0x141"
DATA "CB_MAX_CAB_PATH","256"
DATA "CB_MAX_CABINET_NAME","256"
DATA "CB_MAX_CHUNK","32768"
DATA "CB_MAX_DISK","0x7FFFFFFF"
DATA "CB_MAX_DISK_NAME","256"
DATA "CB_MAX_FILENAME","256"
DATA "CB_MSGMAX","0x15B"
DATA "CB_MULTIPLEADDSTRING","0x163"
DATA "CB_OID_1","9"
DATA "CB_OID_2","10"
DATA "CB_OID_3","11"
DATA "CB_OID_4","12"
DATA "CB_OID_MAC_BINARY","(CB_OID_1)"
DATA "CB_OID_MIMETAG","(CB_OID_1)"
DATA "CB_OID_OLE","(CB_OID_1)"
DATA "CB_OID_OLE1","(CB_OID_2)"
DATA "CB_OID_OLE1_STORAGE","(CB_OID_3)"
DATA "CB_OID_OLE2","(CB_OID_2)"
DATA "CB_OID_OLE2_STORAGE","(CB_OID_3)"
DATA "CB_OID_TNEF","(CB_OID_1)"
DATA "CB_OKAY","0"
DATA "CB_RESETCONTENT","0x14B"
DATA "CB_SELECTSTRING","0x14D"
DATA "CB_SETCURSEL","0x14E"
DATA "CB_SETDROPPEDWIDTH","0x160"
DATA "CB_SETEDITSEL","0x142"
DATA "CB_SETEXTENDEDUI","0x155"
DATA "CB_SETHORIZONTALEXTENT","0x15e"
DATA "CB_SETITEMDATA","0x151"
DATA "CB_SETITEMHEIGHT","0x153"
DATA "CB_SETLOCALE","0x159"
DATA "CB_SETTOPINDEX","0x15c"
DATA "CB_SHOWDROPDOWN","0x14F"
DATA "CB_STATSTRUCT","0"
DATA "CBEM_DELETEITEM","(CB_DELETESTRING)"
DATA "CBEM_GETCOMBOCONTROL","(WM_USER+6)"
DATA "CBEM_GETEDITCONTROL","(WM_USER+7)"
DATA "CBEM_GETEXTENDEDSTYLE","(WM_USER+9)"
DATA "CBEM_GETIMAGELIST","(WM_USER+3)"
DATA "CBEM_GETITEM","(WM_USER+4)"
DATA "CBEM_GETUNICODEFORMAT","(CCM_FIRST+6)"
DATA "CBEM_HASEDITCHANGED","(WM_USER+10)"
DATA "CBEM_INSERTITEM","(WM_USER+1)"
DATA "CBEM_SETEXTENDEDSTYLE","(WM_USER+14)"
DATA "CBEM_SETIMAGELIST","(WM_USER+2)"
DATA "CBEM_SETITEM","(WM_USER+5)"
DATA "CBEM_SETUNICODEFORMAT","(CCM_FIRST+5)"
DATA "CBEM_SETWINDOWTHEME","(CCM_FIRST+0xB)"
DATA "CBEN_BEGINEDIT","(CBEN_FIRST-4)"
DATA "CBEN_DELETEITEM","(CBEN_FIRST-2)"
DATA "CBEN_DRAGBEGIN","(CBEN_FIRST-8)"
DATA "CBEN_ENDEDIT","(CBEN_FIRST-5)"
DATA "CBEN_GETDISPINFO","(CBEN_FIRST-0)"
DATA "CBEN_INSERTITEM","(CBEN_FIRST-1)"
DATA "CBEN_LAST","-830"
DATA "CBES_EX_CASESENSITIVE","0x10"
DATA "CBES_EX_NOEDITIMAGE","0x1"
DATA "CBES_EX_NOEDITIMAGEINDENT","0x2"
DATA "CBES_EX_NOSIZELIMIT","0x8"
DATA "CBES_EX_PATHWORDBREAKPROC","0x4"
DATA "CBN_CLOSEUP","8"
DATA "CBN_DBLCLK","2"
DATA "CBN_DROPDOWN","7"
DATA "CBN_EDITCHANGE","5"
DATA "CBN_EDITUPDATE","6"
DATA "CBN_ERRSPACE","-1"
DATA "CBN_KILLFOCUS","4"
DATA "CBN_SELCHANGE","1"
DATA "CBN_SELENDCANCEL","10"
DATA "CBN_SELENDOK","9"
DATA "CBN_SETFOCUS","3"
DATA "CBS_AUTOHSCROLL","0x0040"
DATA "CBS_DISABLENOSCROLL","0x0800"
DATA "CBS_DROPDOWN","0x0002"
DATA "CBS_DROPDOWNLIST","0x0003"
DATA "CBS_HASSTRINGS","0x0200"
DATA "CBS_LOWERCASE","0x4000"
DATA "CBS_NOINTEGRALHEIGHT","0x0400"
DATA "CBS_OEMCONVERT","0x0080"
DATA "CBS_OWNERDRAWFIXED","0x0010"
DATA "CBS_OWNERDRAWVARIABLE","0x0020"
DATA "CBS_SIMPLE","0x0001"
DATA "CBS_SORT","0x0100"
DATA "CBS_UPPERCASE","0x2000"
DATA "END","END"
DATAEND

databegin Edits
DATA "EN_ALIGN_LTR_EC","0x700"
DATA "EN_ALIGN_RTL_EC","0x701"
DATA "EN_ALIGNLTR","0x710"
DATA "EN_ALIGNRTL","0x711"
DATA "EN_CHANGE","0x300"
DATA "EN_CORRECTTEXT","0x705"
DATA "EN_DRAGDROPDONE","0x70c"
DATA "EN_DROPFILES","0x703"
DATA "EN_ERRSPACE","0x500"
DATA "EN_HSCROLL","0x601"
DATA "EN_IMECHANGE","0x707"
DATA "EN_KILLFOCUS","0x200"
DATA "EN_LINK","0x70b"
DATA "EN_MAXTEXT","0x501"
DATA "EN_MSGFILTER","0x700"
DATA "EN_OBJECTPOSITIONS","0x70a"
DATA "EN_OLEOPFAILED","0x709"
DATA "EN_PARAGRAPHEXPANDED","0x70d"
DATA "EN_PROTECTED","0x704"
DATA "EN_REQUESTRESIZE","0x701"
DATA "EN_SAVECLIPBOARD","0x708"
DATA "EN_SELCHANGE","0x702"
DATA "EN_SETFOCUS","0x100"
DATA "EN_STOPNOUNDO","0x706"
DATA "EN_UPDATE","0x400"
DATA "EN_VSCROLL","0x602"
DATA "ES_AUTOHSCROLL","0x0080"
DATA "ES_AUTOVSCROLL","0x0040"
DATA "ES_CENTER","0x0001"
DATA "ES_LEFT","0x0000"
DATA "ES_LOWERCASE","0x0010"
DATA "ES_MULTILINE","0x0004"
DATA "ES_NOHIDESEL","0x0100"
DATA "ES_NUMBER","0x2000"
DATA "ES_OEMCONVERT","0x0400"
DATA "ES_PASSWORD","0x0020"
DATA "ES_READONLY","0x0800"
DATA "ES_RIGHT","0x0002"
DATA "ES_UPPERCASE","0x0008"
DATA "ES_WANTRETURN","0x1000"
DATA "END","END"
DATAEND

databegin Trackbars
DATA "TBS_AUTOTICKS","0x0001"
DATA "TBS_BOTH","0x0008"
DATA "TBS_BOTTOM","0x0000"
DATA "TBS_DOWNISLEFT","0x0400"
DATA "TBS_ENABLESELRANGE","0x0020"
DATA "TBS_FIXEDLENGTH","0x0040"
DATA "TBS_HORZ","0x0000"
DATA "TBS_LEFT","0x0004"
DATA "TBS_NOTHUMB","0x0080"
DATA "TBS_NOTICKS","0x0010"
DATA "TBS_REVERSED","0x0200"
DATA "TBS_RIGHT","0x0000"
DATA "TBS_TOOLTIPS","0x0100"
DATA "TBS_TOP","0x0004"
DATA "TBS_VERT","0x0002"
DATA "TBSTATE_CHECKED","0x1"
DATA "TBSTATE_ELLIPSES","0x40"
DATA "TBSTATE_ENABLED","0x4"
DATA "TBSTATE_HIDDEN","0x8"
DATA "TBSTATE_INDETERMINATE","0x10"
DATA "TBSTATE_MARKED","0x80"
DATA "TBSTATE_PRESSED","0x2"
DATA "TBSTATE_WRAP","0x20"
DATA "TBSTYLE_ALTDRAG","0x400"
DATA "TBSTYLE_AUTOSIZE","0x10"
DATA "TBSTYLE_BUTTON","0x0"
DATA "TBSTYLE_CHECK","0x2"
DATA "TBSTYLE_CUSTOMERASE","0x2000"
DATA "TBSTYLE_DROPDOWN","0x8"
DATA "TBSTYLE_EX_DOUBLEBUFFER","0x80"
DATA "TBSTYLE_EX_DRAWDDARROWS","0x1"
DATA "TBSTYLE_EX_HIDECLIPPEDBUTTONS","0x10"
DATA "TBSTYLE_EX_MIXEDBUTTONS","0x8"
DATA "TBSTYLE_FLAT","0x800"
DATA "TBSTYLE_GROUP","0x4"
DATA "TBSTYLE_LIST","0x1000"
DATA "TBSTYLE_NOPREFIX","0x20"
DATA "TBSTYLE_REGISTERDROP","0x4000"
DATA "TBSTYLE_SEP","0x1"
DATA "TBSTYLE_TOOLTIPS","0x100"
DATA "TBSTYLE_TRANSPARENT","0x8000"
DATA "TBSTYLE_WRAPABLE","0x200"
DATA "TBSTYLE_CHECKGROUP","(TBSTYLE_GROUP|TBSTYLE_CHECK)"
DATA "END","END"
DATAEND

databegin Windows
DATA "SW_ERASE","0x0004"
DATA "SW_FORCEMINIMIZE","11"
DATA "SW_HIDE","0"
DATA "SW_INVALIDATE","0x0002"
DATA "SW_MAX","10"
DATA "SW_MAXIMIZE","3"
DATA "SW_MINIMIZE","6"
DATA "SW_NORMAL","1"
DATA "SW_RESTORE","9"
DATA "SW_SCROLLCHILDREN","0x0001"
DATA "SW_SHOW","5"
DATA "SW_SHOWDEFAULT","10"
DATA "SW_SHOWMAXIMIZED","3"
DATA "SW_SHOWMINIMIZED","2"
DATA "SW_SHOWMINNOACTIVE","7"
DATA "SW_SHOWNA","8"
DATA "SW_SHOWNOACTIVATE","4"
DATA "SW_SHOWNORMAL","1"
DATA "SW_SMOOTHSCROLL","0x0010"
DATA "SWP_ASYNCWINDOWPOS","0x4000"
DATA "SWP_DEFERERASE","0x2000"
DATA "SWP_FRAMECHANGED","0x20"
DATA "SWP_DRAWFRAME","(SWP_FRAMECHANGED)"
DATA "SWP_HIDEWINDOW","0x80"
DATA "SWP_NOACTIVATE","0x10"
DATA "SWP_NOCOPYBITS","0x100"
DATA "SWP_NOMOVE","0x2"
DATA "SWP_NOOWNERZORDER","0x200"
DATA "SWP_NOREDRAW","0x8"
DATA "SWP_NOREPOSITION","(SWP_NOOWNERZORDER)"
DATA "SWP_NOSENDCHANGING","0x400"
DATA "SWP_NOSIZE","0x1"
DATA "SWP_NOZORDER","0x4"
DATA "SWP_SHOWWINDOW","0x40"
DATA "WM_USER","0x400"
DATA "WM_ACTIVATE","0x0006"
DATA "WM_ACTIVATEAPP","0x001C"
DATA "WM_ACTIVATETOPLEVEL","0x036E"
DATA "WM_AFXFIRST","0x0360"
DATA "WM_AFXLAST","0x037F"
DATA "WM_APP","0x8000"
DATA "WM_APPCOMMAND","0x0319"
DATA "WM_ASKCBFORMATNAME","0x030C"
DATA "WM_CAPTURECHANGED","0x215"
DATA "WM_CHANGECBCHAIN","0x30D"
DATA "WM_CHANGEUISTATE","0x127"
DATA "WM_CHAR","0x102"
DATA "WM_CHARTOITEM","0x2F"
DATA "WM_CHILDACTIVATE","0x22"
DATA "WM_CHOOSEFONT_GETLOGFONT","(WM_USER+1)"
DATA "WM_CHOOSEFONT_SETFLAGS","(WM_USER+102)"
DATA "WM_CHOOSEFONT_SETLOGFONT","(WM_USER+101)"
DATA "WM_CLEAR","0x303"
DATA "WM_CLOSE","0x10"
DATA "WM_COMMAND","0x111"
DATA "WM_COMMNOTIFY","0x44"
DATA "WM_COMPACTING","0x41"
DATA "WM_COMPAREITEM","0x39"
DATA "WM_CONTEXTMENU","0x7B"
DATA "WM_CONVERTREQUEST","0x10A"
DATA "WM_CONVERTREQUESTEX","0x108"
DATA "WM_CONVERTRESULT","0x10B"
DATA "WM_COPY","0x301"
DATA "WM_COPYDATA","0x4A"
DATA "WM_CPL_LAUNCH","(WM_USER+1000)"
DATA "WM_CPL_LAUNCHED","(WM_USER+1001)"
DATA "WM_CREATE","0x1"
DATA "WM_CTLCOLOR","0x19"
DATA "WM_CTLCOLORBTN","0x135"
DATA "WM_CTLCOLORDLG","0x136"
DATA "WM_CTLCOLOREDIT","0x133"
DATA "WM_CTLCOLORLISTBOX","0x134"
DATA "WM_CTLCOLORMSGBOX","0x132"
DATA "WM_CTLCOLORSCROLLBAR","0x137"
DATA "WM_CTLCOLORSTATIC","0x138"
DATA "WM_CUT","0x300"
DATA "WM_DDE_FIRST","0x3E0"
DATA "WM_DDE_ACK","(WM_DDE_FIRST+4)"
DATA "WM_DDE_ADVISE","(WM_DDE_FIRST+2)"
DATA "WM_DDE_DATA","(WM_DDE_FIRST+5)"
DATA "WM_DDE_EXECUTE","(WM_DDE_FIRST+8)"
DATA "WM_DDE_INITIATE","(WM_DDE_FIRST)"
DATA "WM_DDE_LAST","(WM_DDE_FIRST+8)"
DATA "WM_DDE_POKE","(WM_DDE_FIRST+7)"
DATA "WM_DDE_REQUEST","(WM_DDE_FIRST+6)"
DATA "WM_DDE_TERMINATE","(WM_DDE_FIRST+1)"
DATA "WM_DDE_UNADVISE","(WM_DDE_FIRST+3)"
DATA "WM_DEADCHAR","0x103"
DATA "WM_DELETEITEM","0x2D"
DATA "WM_DESTROY","0x2"
DATA "WM_DESTROYCLIPBOARD","0x307"
DATA "WM_DEVICECHANGE","0x219"
DATA "WM_DEVMODECHANGE","0x1B"
DATA "WM_DISPLAYCHANGE","0x7E"
DATA "WM_DRAWCLIPBOARD","0x308"
DATA "WM_DRAWITEM","0x2B"
DATA "WM_DROPFILES","0x233"
DATA "WM_ENABLE","0xA"
DATA "WM_ENDSESSION","0x16"
DATA "WM_ENTERIDLE","0x121"
DATA "WM_ENTERMENULOOP","0x211"
DATA "WM_ENTERSIZEMOVE","0x231"
DATA "WM_ERASEBKGND","0x14"
DATA "WM_EXITMENULOOP","0x212"
DATA "WM_EXITSIZEMOVE","0x232"
DATA "WM_FONTCHANGE","0x1D"
DATA "WM_FORWARDMSG","0x37F"
DATA "WM_GETDLGCODE","0x87"
DATA "WM_GETFONT","0x31"
DATA "WM_GETHOTKEY","0x33"
DATA "WM_GETICON","0x7F"
DATA "WM_GETMINMAXINFO","0x24"
DATA "WM_GETOBJECT","0x3D"
DATA "WM_GETTEXT","0xD"
DATA "WM_GETTEXTLENGTH","0xE"
DATA "WM_HANDHELDFIRST","0x358"
DATA "WM_HANDHELDLAST","0x35F"
DATA "WM_HELP","0x53"
DATA "WM_HOTKEY","0x312"
DATA "WM_HSCROLL","0x114"
DATA "WM_HSCROLLCLIPBOARD","0x30E"
DATA "WM_ICONERASEBKGND","0x27"
DATA "WM_IME_CHAR","0x286"
DATA "WM_IME_COMPOSITION","0x10F"
DATA "WM_IME_COMPOSITIONFULL","0x284"
DATA "WM_IME_CONTROL","0x283"
DATA "WM_IME_ENDCOMPOSITION","0x10E"
DATA "WM_IME_KEYDOWN","0x290"
DATA "WM_IME_KEYLAST","0x10F"
DATA "WM_IME_KEYUP","0x291"
DATA "WM_IME_NOTIFY","0x282"
DATA "WM_IME_REPORT","0x280"
DATA "WM_IME_REQUEST","0x288"
DATA "WM_IME_SELECT","0x285"
DATA "WM_IME_SETCONTEXT","0x281"
DATA "WM_IME_STARTCOMPOSITION","0x10D"
DATA "WM_IMEKEYDOWN","0x290"
DATA "WM_IMEKEYUP","0x291"
DATA "WM_INITDIALOG","0x110"
DATA "WM_INITMENU","0x116"
DATA "WM_INITMENUPOPUP","0x117"
DATA "WM_INPUTLANGCHANGE","0x51"
DATA "WM_INPUTLANGCHANGEREQUEST","0x50"
DATA "WM_INTERIM","0x10C"
DATA "WM_KEYDOWN","0x100"
DATA "WM_KEYFIRST","0x100"
DATA "WM_KEYLAST","0x108"
DATA "WM_KEYUP","0x101"
DATA "WM_KILLFOCUS","0x8"
DATA "WM_LBUTTONDBLCLK","0x203"
DATA "WM_LBUTTONDOWN","0x201"
DATA "WM_LBUTTONUP","0x202"
DATA "WM_MBUTTONDBLCLK","0x209"
DATA "WM_MBUTTONDOWN","0x207"
DATA "WM_MBUTTONUP","0x208"
DATA "WM_MDIACTIVATE","0x222"
DATA "WM_MDICASCADE","0x227"
DATA "WM_MDICREATE","0x220"
DATA "WM_MDIDESTROY","0x221"
DATA "WM_MDIGETACTIVE","0x229"
DATA "WM_MDIICONARRANGE","0x228"
DATA "WM_MDIMAXIMIZE","0x225"
DATA "WM_MDINEXT","0x224"
DATA "WM_MDIREFRESHMENU","0x234"
DATA "WM_MDIRESTORE","0x223"
DATA "WM_MDISETMENU","0x230"
DATA "WM_MDITILE","0x226"
DATA "WM_MEASUREITEM","0x2C"
DATA "WM_MENUCHAR","0x120"
DATA "WM_MENUCOMMAND","0x126"
DATA "WM_MENUDRAG","0x123"
DATA "WM_MENUGETOBJECT","0x124"
DATA "WM_MENURBUTTONUP","0x122"
DATA "WM_MENUSELECT","0x11F"
DATA "WM_MOUSEACTIVATE","0x21"
DATA "WM_MOUSEFIRST","0x200"
DATA "WM_MOUSEHOVER","0x2A1"
DATA "WM_MOUSELAST","0x209"
DATA "WM_MOUSELEAVE","0x2A3"
DATA "WM_MOUSEMOVE","0x200"
DATA "WM_MOUSEWHEEL","0x20A"
DATA "WM_MOVE","0x3"
DATA "WM_MOVING","0x216"
DATA "WM_NCACTIVATE","0x86"
DATA "WM_NCCALCSIZE","0x83"
DATA "WM_NCCREATE","0x81"
DATA "WM_NCDESTROY","0x82"
DATA "WM_NCHITTEST","0x84"
DATA "WM_NCLBUTTONDBLCLK","0xA3"
DATA "WM_NCLBUTTONDOWN","0xA1"
DATA "WM_NCLBUTTONUP","0xA2"
DATA "WM_NCMBUTTONDBLCLK","0xA9"
DATA "WM_NCMBUTTONDOWN","0xA7"
DATA "WM_NCMBUTTONUP","0xA8"
DATA "WM_NCMOUSEHOVER","0x2A0"
DATA "WM_NCMOUSELEAVE","0x2A2"
DATA "WM_NCMOUSEMOVE","0xA0"
DATA "WM_NCPAINT","0x85"
DATA "WM_NCRBUTTONDBLCLK","0xA6"
DATA "WM_NCRBUTTONDOWN","0xA4"
DATA "WM_NCRBUTTONUP","0xA5"
DATA "WM_NCXBUTTONDBLCLK","0xAD"
DATA "WM_NCXBUTTONDOWN","0xAB"
DATA "WM_NCXBUTTONUP","0xAC"
DATA "WM_NEXTDLGCTL","0x28"
DATA "WM_NEXTMENU","0x213"
DATA "WM_NOTIFY","0x4E"
DATA "WM_NOTIFYFORMAT","0x55"
DATA "WM_NULL","0x0"
DATA "WM_OTHERWINDOWCREATED","0x42"
DATA "WM_OTHERWINDOWDESTROYED","0x43"
DATA "WM_PAINT","0xF"
DATA "WM_PAINTCLIPBOARD","0x309"
DATA "WM_PAINTICON","0x26"
DATA "WM_PALETTECHANGED","0x311"
DATA "WM_PALETTEISCHANGING","0x310"
DATA "WM_PARENTNOTIFY","0x210"
DATA "WM_PASTE","0x302"
DATA "WM_PENWINFIRST","0x380"
DATA "WM_PENWINLAST","0x38F"
DATA "WM_POWER","0x48"
DATA "WM_POWERBROADCAST","0x218"
DATA "WM_PRINT","0x317"
DATA "WM_PRINTCLIENT","0x318"
DATA "WM_PSD_ENVSTAMPRECT","(WM_USER+5)"
DATA "WM_PSD_FULLPAGERECT","(WM_USER+1)"
DATA "WM_PSD_GREEKTEXTRECT","(WM_USER+4)"
DATA "WM_PSD_MARGINRECT","(WM_USER+3)"
DATA "WM_PSD_MINMARGINRECT","(WM_USER+2)"
DATA "WM_PSD_PAGESETUPDLG","(WM_USER)"
DATA "WM_PSD_YAFULLPAGERECT","(WM_USER+6)"
DATA "WM_QUERYDRAGICON","0x37"
DATA "WM_QUERYENDSESSION","0x11"
DATA "WM_QUERYNEWPALETTE","0x30F"
DATA "WM_QUERYOPEN","0x13"
DATA "WM_QUERYUISTATE","0x129"
DATA "WM_QUEUESYNC","0x23"
DATA "WM_QUIT","0x12"
DATA "WM_RASDIALEVENT","0xCCCD"
DATA "WM_RBUTTONDBLCLK","0x206"
DATA "WM_RBUTTONDOWN","0x204"
DATA "WM_RBUTTONUP","0x205"
DATA "WM_RENDERALLFORMATS","0x306"
DATA "WM_RENDERFORMAT","0x305"
DATA "WM_SETCURSOR","0x20"
DATA "WM_SETFOCUS","0x7"
DATA "WM_SETFONT","0x30"
DATA "WM_SETHOTKEY","0x32"
DATA "WM_SETICON","0x80"
DATA "WM_SETREDRAW","0xB"
DATA "WM_SETTEXT","0xC"
DATA "WM_SETTINGCHANGE","0x1A"
DATA "WM_SHOWWINDOW","0x18"
DATA "WM_SIZE","0x5"
DATA "WM_SIZECLIPBOARD","0x30B"
DATA "WM_SIZING","0x214"
DATA "WM_SPOOLERSTATUS","0x2A"
DATA "WM_STYLECHANGED","0x7D"
DATA "WM_STYLECHANGING","0x7C"
DATA "WM_SYNCPAINT","0x88"
DATA "WM_SYSCHAR","0x106"
DATA "WM_SYSCOLORCHANGE","0x15"
DATA "WM_SYSCOMMAND","0x112"
DATA "WM_SYSDEADCHAR","0x107"
DATA "WM_SYSKEYDOWN","0x104"
DATA "WM_SYSKEYUP","0x105"
DATA "WM_TCARD","0x52"
DATA "WM_TIMECHANGE","0x1E"
DATA "WM_TIMER","0x113"
DATA "WM_UNDO","0x304"
DATA "WM_UNINITMENUPOPUP","0x125"
DATA "WM_UPDATEUISTATE","0x128"
DATA "WM_USERCHANGED","0x54"
DATA "WM_VKEYTOITEM","0x2E"
DATA "WM_VSCROLL","0x115"
DATA "WM_VSCROLLCLIPBOARD","0x30A"
DATA "WM_WINDOWPOSCHANGED","0x47"
DATA "WM_WINDOWPOSCHANGING","0x46"
DATA "WM_WININICHANGE","0x1A"
DATA "WM_WNT_CONVERTREQUESTEX","0x109"
DATA "WM_XBUTTONDBLCLK","0x20D"
DATA "WM_XBUTTONDOWN","0x20B"
DATA "WM_XBUTTONUP","0x20C"
DATA "WS_ACTIVECAPTION","0x1"
DATA "WS_BORDER","0x800000"
DATA "WS_CAPTION","0xc00000"
DATA "WS_CHILD","0x40000000"
DATA "WS_CHILDWINDOW","(WS_CHILD)"
DATA "WS_CLIPCHILDREN","0x2000000"
DATA "WS_CLIPSIBLINGS","0x4000000"
DATA "WS_DISABLED","0x8000000"
DATA "WS_DLGFRAME","0x400000"
DATA "WS_GROUP","0x20000"
DATA "WS_HSCROLL","0x100000"
DATA "WS_MAXIMIZE","0x1000000"
DATA "WS_MAXIMIZEBOX","0x10000"
DATA "WS_MINIMIZE","0x20000000"
DATA "WS_MINIMIZEBOX","0x20000"
DATA "WS_ICONIC","(WS_MINIMIZE)"
DATA "WS_OVERLAPPED","0x0"
DATA "WS_POPUP","0x80000000"
DATA "WS_SYSMENU","0x80000"
DATA "WS_TABSTOP","0x10000"
DATA "WS_THICKFRAME","0x40000"
DATA "WS_TILED","(WS_OVERLAPPED)"
DATA "WS_VISIBLE","0x10000000"
DATA "WS_VSCROLL","0x200000"
DATA "WS_SIZEBOX","(WS_THICKFRAME)"
DATA "WS_GT","(WS_GROUP|WS_TABSTOP)"
DATA "WS_POPUPWINDOW","(WS_POPUP|WS_BORDER|WS_SYSMENU)"
DATA "WS_OVERLAPPEDWINDOW","(WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX)"
DATA "WS_TILEDWINDOW","(WS_OVERLAPPEDWINDOW)"
DATA "WS_EX_ACCEPTFILES","0x10"
DATA "WS_EX_APPWINDOW","0x40000"
DATA "WS_EX_CLIENTEDGE","0x200"
DATA "WS_EX_COMPOSITED","0x02000000"
DATA "WS_EX_CONTEXTHELP","0x400"
DATA "WS_EX_CONTROLPARENT","0x10000"
DATA "WS_EX_DLGMODALFRAME","0x1"
DATA "WS_EX_LAYERED","0x80000"
DATA "WS_EX_LAYOUTRTL","0x400000"
DATA "WS_EX_LEFT","0x0"
DATA "WS_EX_LEFTSCROLLBAR","0x4000"
DATA "WS_EX_LTRREADING","0x0"
DATA "WS_EX_MDICHILD","0x40"
DATA "WS_EX_NOACTIVATE","0x8000000"
DATA "WS_EX_NOINHERITLAYOUT","0x100000"
DATA "WS_EX_NOPARENTNOTIFY","0x4"
DATA "WS_EX_RIGHT","0x1000"
DATA "WS_EX_RIGHTSCROLLBAR","0x0"
DATA "WS_EX_RTLREADING","0x2000"
DATA "WS_EX_STATICEDGE","0x20000"
DATA "WS_EX_TOOLWINDOW","0x80"
DATA "WS_EX_TOPMOST","0x8"
DATA "WS_EX_TRANSPARENT","0x20"
DATA "WS_EX_WINDOWEDGE","0x100"
DATA "WS_EX_OVERLAPPEDWINDOW","(WS_EX_WINDOWEDGE|WS_EX_CLIENTEDGE)"
DATA "WS_EX_PALETTEWINDOW","(WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST)"
DATA "END","END"
DATAEND

Andy

Fasecero, don't mind at all!

I think it's a great idea, and I like the fact that we can add to / improve the program, I'm getting an error on line 836.

Unable to convert pointer to structure, any ideas?

Andy.
:)
Day after day, day after day, we struck nor breath nor motion, as idle as a painted ship upon a painted ocean.

fasecero

Oops, can't make it work with the latest version, no matter how I write the pointer, this is an old code I have from Sapero back then. I'll go back and repost the code when I get it. I'll use your program since I tend to forget these constants are endless.

Andy

Fasecro,

Don't worry, I'll wait until you have chance to look at it then add it in.

Thanks,
Andy.
:)
Day after day, day after day, we struck nor breath nor motion, as idle as a painted ship upon a painted ocean.

Andy

Well,

The program seems to get the thumbs up - great.

So I thought I'd add to it with some more constants (around 250), and some useful features for you all.

As you see a constant you want, click on it in the list view, then click "Select".
And repeat until you get bored!

You will see in a rich edit box, the lines being built up as:

CONST BS_this = 0x0001
CONST BS_that = 0x2000
CONST BS_other = 0x400

Now you can click the "Send CONST to clipboard"

You can then paste the IWB code directly into a program you're writing.

Also, as you do this, another rich edit box will contain:

| BS_this | BS_that | BS_other

Now you can click the "Send STYLE to clipboard"

You can then paste the IWB code directly into a program you're writing where you create a control.

Time saver!

Andy.
:)
Day after day, day after day, we struck nor breath nor motion, as idle as a painted ship upon a painted ocean.

Andy

I wanted to check something out regarding adding in descriptions for the constants.

So I contacted MS and asked them would it be okay to use their descriptions in my program - they said yes, as long as the program was for educational purposes (which it is), and free (which it is).

They said that was "perfect!"

So with the copyright issue cleared up, I will be releasing an important update to the constants search program in a few days.

This program I will call something like - Constants reference guide (or words to that effect).

Andy.
Day after day, day after day, we struck nor breath nor motion, as idle as a painted ship upon a painted ocean.

h3kt0r

Thank you very much for sharing this convenient and useful program.
:)

Andy

Here is version 2.0 - with descriptions and more search options.

You are strongly advised to read the "Terms of use".

This program is free to all, and for educational purposes only.

To that end, I have included the exe file for those of you who don't have IWB, although I'd strongly suggest you get a copy.

What this program is for:

1. To help you (and me) understand all these control types and constant values / and what they do.
2. To help save time.
3. To educate you (and me).

What this program is not about:
How good or bad I can program.

I encourage you to download this, if I had had this years ago, I probably would not have asked as many questions.

I also encourage you to add to this program / modify it / make it better / share it.

I think over time, you will find this invaluable!

Copy Constants.lib to your IWBDev3 Libs fodler before compiling, and compile as a single code (F8).

Please ignore any spelling mistakes in the program / help file, spelling is not my priority!

Enjoy and be educated.

Andy.
:)


Day after day, day after day, we struck nor breath nor motion, as idle as a painted ship upon a painted ocean.

LarryMc

Remember that on the IDE's main toolbar there is the TOOLS menu option where the USER can add their own tools.  This precompiled exe would be a good tool to add to the list of tools(in my opinion).
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

Andy

October 04, 2018, 11:27:58 pm #13 Last Edit: October 05, 2018, 12:20:30 am by Andy
Larry,

That is a great idea!

I'm using the program constantly now, as it has opened up a whole new world for me.

It's so much easier to search and find what you need when programming, so I have followed your suggestion, easy now just to go to the TOOLS menu and select it.

Just a little suggestion, maybe the exe file and the Constants.chm (Help) file should be placed in the IWBDev\Bin folder just so you have all you need in one location.

Andy.
:)
Day after day, day after day, we struck nor breath nor motion, as idle as a painted ship upon a painted ocean.

LarryMc

he  the Constants.chm  file can be amended to the Help menu he same was he exe can be added to the Tools menu
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

LarryMc

Had one other thought.
It might be nice if those items that are already a part of IWB were flagged somehow  to indicate such to the user.

Just an idea and not absolutely necessary to a User.
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

Andy

Larry,

Great idea, Bill did send me a program that lists many of the built in constants / functions.

All of these are of course preceded with the @ symbol, so I will have a look and see where would be best to add them.

In the mean time, I've moved all the data to the library file, and re-worked the constants search program.

All the constants are grouped into sub categories as follows:

All Functions
Messages
Notifications
Styles
Other

So now you can narrow down what you are looking for, say button messages.

As you can guess, there are so many it is possible that some functions are classed wrong and that's why I have the "Other" option.

I will release this version some time soon with more categoris included.

Andy.
Day after day, day after day, we struck nor breath nor motion, as idle as a painted ship upon a painted ocean.