[c++] vb 在窗体上画图

[复制链接]
梅雷工具箱发表于 2015-6-25 13:35:40 | 显示全部楼层 |阅读模式
vb在窗体上画图



FillStyle = 1【空心】【默认】
FillStyle = 0【实心】
FillColor = RGB(0, 225, 0) '【填充的颜色】
加上 Step  表示采用当前作图位置的相对值

红色   RGB(255,0,0)
蓝色   RGB(0,0,255)   
黄色   RGB(255,255,0)
黑色   RGB(0,0,0)   
白色   RGB(255,255,255)

bordercolor(线条颜色)、borderstyle(线型)、borderwidth(线宽)
一、点【Pset】

格式:
【对象 .】Pset ( x , y ) ,颜色
【对象 .】Pset Step ( x , y ) ,颜色 ’【以上一个点为原点】

(1)参数(x,y)为所画点的坐标
(2)采用背景颜色可清除某个位置上的点,利用Pset方法可画出任意的曲线

二、线【Line】【矩形】
格式:
【对象 .】Line ( x1 , y1 ) ,( x2 , y2 ),颜色,B\F
   (1)对象指的是Line在何处产生结果,它可以是窗体或图形框,默认为当前窗体;
  (2)( x1 ,y1 )为线段的起点坐标或矩形的左上角坐标;
  (3)(x2,y2)为线段的终点坐标或矩形的右下叫坐标;
    (4)关键字B表示画矩形;
  (5) 关键字F表示用画矩形的的颜色来填充矩形。缺省F时,矩形的填充由FillColor和FillStyle属性决定。

三、【Circle】用于画【圆、椭圆、圆弧和扇形】
格式:
【对象.】 Circle ( x , y ) ,半径,颜色 ,起始角度 ,终止角度  ,长短轴比率
    (1) 对象指的是Circle方法将在何处产生结果,它可以是窗体或图形框或打印机,缺省时为当前窗体。
  (2)(x,y)为圆心坐标,关键字Step表示采用当前作图位置的相对值。
  (3)圆弧和扇形通过参数的起始角度和终止角度控制。当起始角和终止角取值为0~6.28弧度时,画出来的是圆弧;当在起始角和终止角取值前加一个负号时,画出的是扇形,负号表示要画圆心到圆弧的径向线。
  (4)椭圆通过长短轴比率控制,默认值为1,所以画出来的是圆。
如: circle (1000,1000),1000,rgb(255,0,0),-1,-2   ’可画出一个红色的扇形
    circle(1000,1000),1000,rgb(255,0,0), ,0.5    ’即可画出一个椭圆


==============================================================================================
.定义xy为鼠标点击时位置
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
FillStyle = 0 '【实心】
FillColor = RGB(0, 225, 0) '【填充的颜色】
Me.Circle (X, Y), 1000, RGB(255, 0, 0), -1, -2
End Sub



====================================================================================
'画体 如:如果改变扇形的垂直位置,并且绘制很多扇形,这些扇形就变成了圆饼。
Private Sub Command1_Click()

For y = 1 To 500

Circle (1500, 1500 - y), 1000, RGB(0, 225, 0), -0.00001, -5, 0.6

Next y

For r = 1 To 1000

Circle (1500, 1000), 1000 - r, RGB(225, 0, 0), -0.00001, -5, 0.6

Next r

End Sub


' ===========================
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'api函数用来睡眠的

Private Sub Command1_Click()
  Dim o, x, y, r As Integer
  While (True)
    Sleep (50) '睡眠50毫秒
    DoEvents
    Cls
    o = o + 0.1
    x = Cos(o) * Me.Width / 3 + Me.Width / 2
    y = Sin(o) * Me.Height / 3 + Me.Height / 2
    r = Sin(o) * 100 + 150
   Me.Circle (x, y), r
  Wend
End Sub


_____________________________________________________________________________ _

中磊UG二次开发教程 梅雷著 qq1821117007
学UG就上UG网 http://www.9sug.com/
就上UG网淘宝直营店
您需要登录后才可以回帖 登录 | 注册UG网 用百度帐号登录

本版积分规则