WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Samples

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Grid Navigate


;***************************************************************************
gosub initiate

ButtonPushed=Dialog("MyDialog")
exit


:initiate

buf1 = binaryalloc(256)
buf2 = binaryalloc(256)

#definefunction GetKeyboardState(buf)
   sDLLName = StrCat(DirWindows(1), "user32.dll")
   DLLCall(sDLLName, long:"GetKeyboardState", lpbinary:buf)
   BinaryEodSet(buf, 256) 
   return buf
#endfunction

#definefunction ArrCopy(list, hgrid, vgrid)
	grid = ArrDimension(vgrid+1, hgrid+1)
	for i=1 to vgrid
		for j=1 to hgrid
		   index = (i-1)*hgrid+j	
		   grid[i,j] = list[index]
		next
	next
	return grid
#endfunction

#definefunction nextcell(cell, direction, grid)
	vgrid = ArrInfo(grid,1)-1
	hgrid = ArrInfo(grid,2)-1
	idir  = ItemLocate(direction,'L,R,U,D',',')
	istep = ItemExtract(idir,' 0, 0,-1, 1',',')
	jstep = ItemExtract(idir,'-1, 1, 0, 0',',')
	
	for i=1 to vgrid
		for j=1 to hgrid
		   if cell == grid[i,j] 
				i = i+istep
				j = j+jstep
				if (i>0) && (i0) && (j0 && x<>1 
					    focus = DialogControlState(MyDialog_Handle,  0, 5, 0)
						 direction = strSub('LURD',count,1)
						 focus = nextcell(focus, direction, grid)
						 DialogControlState(MyDialog_Handle,  focus, 1, 0)
					endif
				next
		   endif
        return(-1)      ;  Do default processing
   endswitch       ; MyDialog_Message
   return(-1)      ;  Do default processing
#EndSubroutine       ;End of Dialog Callback MyDialogCallbackProc

MyDialogFormat=`WWWDLGED,6.1`

MyDialogCaption=`Urenstaat`
MyDialogX=124
MyDialogY=151
MyDialogWidth=372
MyDialogHeight=208
MyDialogNumControls=012
MyDialogProcedure=`MyDialogCallbackProc`
MyDialogFont=`DEFAULT`
MyDialogTextColor=`DEFAULT`
MyDialogBackground=`DEFAULT,DEFAULT`

MyDialog001=`217,185,036,012,PUSHBUTTON,DEFAULT,"OK",1,99,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog002=`263,185,036,012,PUSHBUTTON,DEFAULT,"Cancel",0,99,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog003=`021,041,018,008,STATICTEXT,DEFAULT,"Dag",DEFAULT,99,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog004=`041,041,044,008,STATICTEXT,DEFAULT,"Project",DEFAULT,99,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog005=`121,031,026,008,STATICTEXT,DEFAULT,"Uren",DEFAULT,99,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog006=`091,041,026,008,STATICTEXT,DEFAULT,"Activiteit",DEFAULT,99,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog007=`151,041,026,008,STATICTEXT,DEFAULT,"150%%",DEFAULT,99,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog008=`181,041,026,008,STATICTEXT,DEFAULT,"113",DEFAULT,99,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog009=`211,041,108,008,STATICTEXT,DEFAULT,"Opmerking",DEFAULT,99,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog010=`021,011,042,012,STATICTEXT,DEFAULT,"Urenstaat week",DEFAULT,99,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog011=`065,011,018,012,EDITBOX,Weeknummer,DEFAULT,DEFAULT,11,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
MyDialog012=`121,041,026,008,STATICTEXT,DEFAULT,"Normaal",DEFAULT,99,DEFAULT,DEFAULT,DEFAULT,DEFAULT`

;ButtonPushed=Dialog("MyDialog")

MyDialogTemplate=`[xvalue],[yvalue],[width],[height],EDITBOX,cel[nr],"",DEFAULT,1,DEFAULT,DEFAULT,DEFAULT,DEFAULT`
height = 12
MyDialogTemplate= strReplace(MyDialogTemplate, '[height]',height)

xvalue_list = '20,40,90,120,150,180,210'
width_list  = '22,52,32,32,32,32,122'

hgrid = 7
vgrid = 12
tmp  = ArrDimension(hgrid*vgrid+1)
counter = 0

ctrlnum    = 12
yvalue 	   = 40
dlg = 'MyDialog'
for i=1 to vgrid ;-- rows
	yvalue = yvalue + 10
	for j = 1 to hgrid ;-- columns
		ctrlnum = ctrlnum + 1
		ctrlid  = strFixLeft(ctrlnum,'0',3)
		xvalue  = ItemExtract(j,xvalue_list,',')
		width   = ItemExtract(j,width_list ,',')
		thisline = strReplace(MyDialogTemplate, '[xvalue]',xvalue)
		thisline = strReplace(thisline        , '[yvalue]',yvalue)
		thisline = strReplace(thisline        , '[width]' ,width )
		celnr    = strCat(i,j)
		thisline = strReplace(thisline        , '[nr]'    ,celnr )
		DlgVar = strCat(dlg,ctrlid)
		%DlgVar% = thisline
		counter = counter+1
		tmp[counter] = ctrlnum
	next j
next i
grid = ArrCopy(tmp, hgrid, vgrid)


MyDialogNumControls=ctrlid

return
;***************************************************************************

Article ID:   W15918
File Created: 2004:03:30:15:41:42
Last Updated: 2004:03:30:15:41:42