VB调用API涵数画正弦波

由于最近工作忙,多日未打理博客了,故今日有闲,发一个VB调用API涵数画正弦波的代码供大家参考.

代码如下:

Option Explicit
Dim Points() As POINTAPI
Dim NumPoints As Integer
Dim ZanTin1
Dim apik1
Dim apik2
Dim V
Const pi = 3.14159265358979
Private Type POINTAPI
        x As Long
        y As Long
    End Type
   Private Declare Function Polyline Lib "gdi32" (ByVal hdc As Long, lpPoint As POINTAPI, ByVal nCount As Long) As Long
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Select Case Button
Case 1
ReDim Points(0 To 2)
V = 100
Picture1.Cls
ZanTin1 = True
apik1 = 0
Do While ZanTin1
apik1 = apik1 + 1
NumPoints = 2
apik2 = (Sin(pi / 180 * apik1)) * V
Points(1).x = apik1 - 1
Points(2).x = apik1
Points(1).y = 200 - apik2
Points(2).y = 200 - apik2
If Polyline(Picture1.hdc, Points(1), NumPoints) = 0 Then Exit Sub
If apik1 > 742 Then
ZanTin1 = False
End If
DoEvents
Loop
Case 2
End
End Select
End Sub

这只是一个例子,将此段代码稍微修改一下,也可画方波,阶梯波,三角波,和任意曲线,特别适用于对记录画线速度有要求的场合.如虚拟示波器.记录仪表等...

posted on 2010-05-06 07:25  金杰 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lvjinjie/archive/2010/05/06/1728504.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值