Hello,
this is an IupCbox example. Cbox is a container for position the elements in absolute coordinates. IupMatrix is not included here. This would need iupcontrols.dll which calls some more dlls and which needs another approach.
@John - I would be interested. Creating an exe file and linking to Iup.rc does not make much difference to me. Do you notice a difference?
This is what I have done: copy iup.rc, pen.cur, tecgraf.ico, iup.manifest from folder /iup/etc to folder projectsB\IUP. Create cbox1.exe by removing the comment from:
'include "$/inc/RTL32.inc" in cbox1.o2bas.
In a Dos Window in projectsB\IUP I call these commands:
windres -iiup.rc -oiup.res -Ores
..\..\tools\LinkRes2Exe.exe iup.res cbox1.exe
GoRc.exe cannot process Iup.rc as is. In a project with WinResources Charles has already used a resource file which would work similar like Iup.rc.
Roland
$ filename "cbox1.exe"
'include "$/inc/RTL32.inc"
'include "$/inc/console.inc"
includepath "iup/"
extern lib "IUP/iup.dll" cdecl
include "iup.h"
'overriding const unsigned char* pixmap in iup.h
Ihandle* IupImage (int width, int height, byte *pixmap)
Ihandle* IupImageRGB (int width, int height, byte *pixmap)
Ihandle* IupImageRGBA (int width, int height, byte *pixmap)
end extern
extern cdecl
cr=chr(13,10)
byte img_bits1[] =>
{
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1
,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1
,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1
,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1
,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1
,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1
,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1
,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1
,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
,2,2,2,0,2,0,2,0,2,2,0,2,2,2,0,0,0,2,2,2,0,0,2,0,2,2,0,0,0,2,2,2
,2,2,2,0,2,0,0,2,0,0,2,0,2,0,2,2,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2
,2,2,2,0,2,0,2,2,0,2,2,0,2,2,2,2,2,0,2,0,2,2,2,0,2,0,2,2,2,0,2,2
,2,2,2,0,2,0,2,2,0,2,2,0,2,2,0,0,0,0,2,0,2,2,2,0,2,0,0,0,0,0,2,2
,2,2,2,0,2,0,2,2,0,2,2,0,2,0,2,2,2,0,2,0,2,2,2,0,2,0,2,2,2,2,2,2
,2,2,2,0,2,0,2,2,0,2,2,0,2,0,2,2,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2
,2,2,2,0,2,0,2,2,0,2,2,0,2,2,0,0,0,0,2,2,0,0,2,0,2,2,0,0,0,2,2,2
,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2
,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,0,2,2,2,2,2,2,2,2
,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,2,2,2,2,2,2,2,2,2
,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1
,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1
,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
}
byte img_bits2[] =>
{
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2
,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2
,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2
,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2
,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2
,2,2,2,2,2,2,2,2,2,2,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2
,2,2,2,2,2,2,2,2,2,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2
,2,2,2,2,2,2,2,2,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2
,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
,3,3,3,0,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
,3,3,3,0,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
,3,3,3,0,3,0,3,0,3,3,0,3,3,3,1,1,0,3,3,3,0,0,3,0,3,3,0,0,0,3,3,3
,3,3,3,0,3,0,0,3,0,0,3,0,3,0,1,1,3,0,3,0,3,3,0,0,3,0,3,3,3,0,3,3
,3,3,3,0,3,0,3,3,0,3,3,0,3,3,1,1,3,0,3,0,3,3,3,0,3,0,3,3,3,0,3,3
,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
,3,3,3,0,3,0,3,3,0,3,3,0,3,0,1,1,3,0,3,0,3,3,0,0,3,0,3,3,3,0,3,3
,3,3,3,0,3,0,3,3,0,3,3,0,3,3,1,1,0,0,3,3,0,0,3,0,3,3,0,0,0,3,3,3
,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3
,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,0,3,3,3,0,3,3,3,3,3,3,3,3
,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,0,0,0,3,3,3,3,3,3,3,3,3
,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3
,2,2,2,2,2,2,2,3,3,3,3,3,3,3,1,1,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2
,2,2,2,2,2,2,3,3,3,3,3,3,3,3,1,1,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2
,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2
,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2
,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
}
function createtree() as sys
sys tree = IupTree()
IupSetAttributes(tree, "FONT=COURIER_NORMAL_12, NAME=Figures,
RASTERSIZE=180x180, CX=600, CY=10" )
return tree
end function
sub func_1 ()
sys cbox, cnv_1, dlg, img,
frm_1, frm_2, frm_3, hbox, ctrl_1,
list_1, list_2, list_3, text_1, ml_1
img = IupImage(32,32, @img_bits1)
IupSetHandle ("img1", img)
IupSetAttribute (img, "0", "0 0 0")
IupSetAttribute (img, "1", "BGCOLOR")
IupSetAttribute (img, "2", "255 0 0")
img = IupImage(32,32, @img_bits2)
IupSetHandle ("img2", img)
IupSetAttribute (img, "0", "0 0 0")
IupSetAttribute (img, "1", "0 255 0")
IupSetAttribute (img, "2", "BGCOLOR")
IupSetAttribute (img, "3", "255 0 0")
'bottom-up
b1=IupButton("Button Text",NULL) : b2=IupButton("",NULL) : b3=IupButton("",NULL)
IupSetAttribute(b1, "CINDEX","1")
IupSetAttributes(b2, "IMAGE=img1, CINDEX=2")
IupSetAttributes(b3, "IMAGE=img1,IMPRESS=img2,CINDEX=3")
vbox1 = IupVbox(b1,b2,b3,NULL)
frm_1 = IupFrame(vbox1)
IupSetAttributes(frm_1,"TITLE=IupButton, CX=10, CY=180")
'bottom-up
l1=IupLabel("Label Text") : l2=IupLabel(NULL) : l3=IupLabel(NULL)
IupSetAttribute(l1, "CINDEX","1")
IupSetAttributes(l2, "SEPARATOR=HORIZONTAL,CINDEX=2")
IupSetAttributes(l3, "IMAGE=img1,CINDEX=3")
vbox2 = IupVbox(l1, l2, l3, NULL)
frm_2 = IupFrame(vbox2)
IupSetAttributes(frm_2,"TITLE=IupLabel, CX=200, CY=250")
'bottom-up
'checkboxes
t1=IupToggle("Toggle Text", NULL) : t2=IupToggle("", NULL)
IupSetAttributes(t1, "VALUE=ON, CINDEX=1")
IupSetAttributes(t2, "IMAGE=img1, IMPRESS=img2, CINDEX=2")
'show verical
vb1=IupVbox(t1, t2, NULL)
'radios
t3=IupToggle("Toggle Text", NULL) : t4=IupToggle("Toggle Text", NULL)
IupSetAttributes(t3, "CINDEX=3")
IupSetAttributes(t4, "CINDEX=4")
'show vertical
vb2=IupVbox(t3,t4)
'change to radios
radio=IupRadio(vb2)
'frame them
frame=IupFrame(radio)
IupSetAttribute(frame, "TITLE", "IupRadio")
vbox3=IupVbox(vb1,frame, NULL)
frm_3=IupFrame(vbox3)
IupSetAttribute(frm_3,"TITLE","IupToggle")
IupSetAttribute(frm_3,"CX","400")
IupSetAttribute(frm_3,"CY","250")
text_1 = IupText( NULL)
IupSetAttribute(text_1,"VALUE","IupText Text")
IupSetAttributes(text_1,"SIZE=80x, CINDEX=1, CX=10, CY=100")
ml_1 = IupMultiLine( NULL)
IupSetAttribute(ml_1,"VALUE","IupMultiline Text" & cr & "Second Line" & cr & "Third Line" & cr)
IupSetAttributes(ml_1,"SIZE=80x60, CINDEX=1, CX=200, CY=100")
list_1 = IupList( NULL)
IupSetAttributes(list_1,"VALUE=1, CINDEX=1, CX=10, CY=10")
IupSetAttribute(list_1,"1","Item 1 Text")
IupSetAttribute(list_1,"2","Item 2 Text")
IupSetAttribute(list_1,"3","Item 3 Text")
list_2 = IupList( NULL)
IupSetAttributeS(list_2,"DROPDOWN=YES, VALUE=2, CINDEX=2, CX=200, CY=10")
IupSetAttribute(list_2,"1","Item 1 Text")
IupSetAttribute(list_2,"2","Item 2 Text")
IupSetAttribute(list_2,"3","Item 3 Text")
list_3 = IupList( NULL)
IupSetAttributes(list_3,"EDITBOX=YES, VALUE=3, CINDEX=3, CX=400, CY=10")
IupSetAttribute(list_3,"1","Item 1 Text")
IupSetAttribute(list_3,"2","Item 2 Text")
IupSetAttribute(list_3,"3","Item 3 Text")
cnv_1 = IupCanvas( NULL)
IupSetAttributes(cnv_1,"RASTERSIZE=100x100, POSX=0, POSY=0, CX=400, CY=150")
IupSetAttribute(cnv_1,"BGCOLOR","128 255 0") 'green
ctrl_1 = IupVal(NULL)
IupSetAttributes(ctrl_1,"CX=600, CY=200")
cbox = IupCbox(
text_1,
ml_1,
list_1,
list_2,
list_3,
cnv_1,
ctrl_1,
createtree(),
frm_1,
frm_2,
frm_3,
NULL)
IupSetAttribute(cbox,"SIZE","480x200")
hbox = IupHbox(cbox, NULL)
IupSetAttribute(hbox, "MARGIN"," 10x10")
dlg = IupDialog(hbox)
IupSetHandle("dlg",dlg)
IupSetAttribute(dlg,"TITLE","Cbox Test")
end sub
sub main()
IupOpen(0,0)
func_1()
IupShowXY(IupGetHandle("dlg"),IUP_CENTER,IUP_CENTER)
IupMainLoop()
IupClose()
end sub
main()
.