' Thread #1 Script
INCLUDE "dllcinc.sb"
iup = dllfile("iup.dll")
IupOpen = dllproc(iup,"IupOpen cdecl i = (i argc, i argv)")
IupCreate = dllproc(iup,"IupCreate cdecl i = (c *classname)")
IupSetAttributes = dllproc(iup,"IupSetAttributes cdecl i = (i ih, c *attr_str)")
IupAppend = dllproc(iup,"IupAppend cdecl i = (i ih, cdecl i new_child)")
IupSetCallback = dllproc(iup,"IupSetCallback cdecl i = (i ih, c*cb_name, i funcaddr)")
IupShow = dllproc(iup,"IupShow cdecl i = (i ih)")
IupMainLoop = dllproc(iup,"IupMainLoop cdecl i = ()")
IupClose = dllproc(iup,"IupClose cdecl ()")
GLOBAL CONST IUP_DEFAULT = -2
FUNCTION Btn1_T1(ih, mbut, pstat)
PRINT "B1 - T1 ", CHR(mbut), " - ", pstat, "\n"
Btn1_clicked = IUP_DEFAULT
END FUNCTION
FUNCTION Btn2_T1(ih)
dllprnt"B2 - T1\n"
Btn2_clicked = IUP_DEFAULT
END FUNCTION
FUNCTION Btn3_T1(ih)
dllprnt"B3 - T1\n"
Btn3_clicked = IUP_DEFAULT
END FUNCTION
FUNCTION main(pProg,idat)
dllcall(IupOpen, 0, 0)
win = dllcall(IupCreate, "dialog")
dllcall(IupSetAttributes, win, "TITLE=\"Thread #1\", SIZE=300x")
horzbox = dllcall(IupCreate, "hbox")
dllcall(IupSetAttributes, horzbox, "GAP=5")
btn1 = dllcall(IupCreate, "button")
dllcall(IupSetAttributes, btn1, "TITLE=Button1, EXPAND=HORIZONTAL")
btn2 = dllcall(IupCreate, "button")
dllcall(IupSetAttributes, btn2, "TITLE=Button2, EXPAND=HORIZONTAL")
btn3 = dllcall(IupCreate, "button")
dllcall(IupSetAttributes, btn3, "TITLE=Button3, EXPAND=HORIZONTAL")
dllcall(IupAppend, horzbox, btn1)
dllcall(IupAppend, horzbox, btn2)
dllcall(IupAppend, horzbox, btn3)
dllcall(IupAppend, win, horzbox)
dllcall(IupSetCallback, btn1, "BUTTON_CB", dllclbk(1, pProg, "MAIN::Btn1_T1", 3,IUP_DEFAULT,idat))
dllcall(IupSetCallback, btn2, "ACTION", dllclbk(2, pProg, "MAIN::Btn2_T1", 1,IUP_DEFAULT,idat))
dllcall(IupSetCallback, btn3, "ACTION", dllclbk(3, pProg, "MAIN::Btn3_T1", 1,IUP_DEFAULT,idat))
dllcall(IupShow, win)
Main=IupMainLoop
END FUNCTION