Uses "UI"
Dim x,y As Double
Begin ControlID
%ID_Canvas
%ID_Canv2
End ControlID
Function TBMain() As Long
Local hDlg As DWord '---Used to store window handle of main dialog
hDlg = Dialog_New Pixels, 0, "canvas wide graphics ", -1, -1, 1200, 775,
%WS_DLGFRAME |
%DS_CENTER |
%WS_CAPTION |
%WS_SYSMENU |
%WS_OVERLAPPEDWINDOW
Dialog Show Modal hDlg, Call cbDialog
End Function
CallBack Function cbDialog() As Long
Select Case CBMSG
Case %WM_INITDIALOG
Control Add Canvas, CBHNDL, %ID_Canvas, "", 50, 10,1000, 200, %WS_BORDER | %WS_CHILD | %WS_VISIBLE
Control Add Canvas, CBHNDL, %ID_Canv2, "", 50, 210,1000, 200, %WS_BORDER | %WS_CHILD | %WS_VISIBLE
Canvas_Attach(CBHNDL, %ID_Canvas, %TRUE)
Canvas_SetVirtual(1000, 380)
Canvas_SetView(0,0)
Canvas_Width(2)
Canvas_Clear %BLACK
Canvas_SetView(1000,0)
'Canvas_Scale(-20, -5, 20, 20)
For x = 0 To 2000 Step 0.1
y = Sin(x)*20* Rndf(1, 2)*Sin(x/3)^2
Canvas_Width(3)
Canvas_Line( (x*10, y +100), (x*10, y +100) , Rgb(255, 255, 0) )
Canvas_Redraw
Next
''''wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
Canvas_Attach(CBHNDL, %ID_Canv2, %TRUE)
Canvas_SetVirtual(1000, 380)
Canvas_SetView(0,0)
Canvas_Width(2)
Canvas_Clear %BLACK
Canvas_SetView(1000,0)
'Canvas_Scale(-20, -5, 20, 20)
'mark the beginning of canvas 2 graphics with a circle
Circle(10,70,10,Rgb(0,255,0),Rgb(255,0,0))
For x = 0 To 2000 Step 0.1
y = Sin(x)*20
Canvas_Width(3)
Canvas_Line( (x*10, y +100), (x*10, y +100) , Rgb(255, 255, 0) )
Canvas_Redraw
Next
End Select
End Function
Function Circle(x As Long, y As Long, r As Long, colr, colrFill)
Canvas_Ellipse(x-r, y-r, x+r, y+r, colr, colrFill)
End Function
Bookmarks