zoukankan      html  css  js  c++  java
  • VB API 之 第九课 图像编程(二)

    用到2个API函数,Polyiine,Polylineto函数原型如下

    Declare Function Polyline Lib "gdi32" Alias "Polyline" (ByVal hdc As Long, lpPoint As POINTAPI, ByVal nCount As Long) As Long
    Declare Function PolylineTo Lib "gdi32" Alias "PolylineTo" (ByVal hdc As Long, lppt As POINTAPI, ByVal cCount As Long) As Long

    功能说明

      用来绘制线段

    参数

    hdc: Long   //设备的句柄

    lpPoint  指向一个POINTAPI的结构。

    nCount:Long   //lpPoint数组的点数。

    示例:

    Option Explicit
    
    Private Declare Function Polyline Lib "gdi32" (ByVal hdc As Long, lpPoint As point, ByVal nCount As Long) As Long
    Private Declare Function PolylineTo Lib "gdi32" (ByVal hdc As Long, lppt As point, ByVal cCount As Long) As Long
    Private Type point
        x As Long
        y As Long
    End Type
        
    
    
    Dim Flag1 As Boolean
    Dim Flag2 As Boolean
    
    Dim Pos(10) As point
    Dim i As Integer
    
    
    Private Sub Command1_Click()
        Flag1 = True
        Flag2 = False
    End Sub
    
    Private Sub Command2_Click()
        Flag1 = False
        Flag2 = True
    End Sub
    
    Private Sub Command3_Click()
        Flag1 = False
        Flag2 = False
    End Sub
    
    Private Sub Command4_Click()
        Me.Picture1.Cls
    End Sub
    
    Private Sub Form_Load()
        Flag1 = False
        Flag1 = False
        '禁止绘图
        Me.ScaleMode = 3
        Me.Picture1.ScaleMode = 3
        '设置对象坐标的度量单位为像素
        i = 0
    End Sub
    Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
        If Flag1 Then
            Pos(i).x = x
            Pos(i).y = y
        If (i >= 3) Then
            Polyline Me.Picture1.hdc, Pos(0), 4
            Me.Picture1.Circle (x, y), 3
            i = 0
            Exit Sub
        End If
    End If
    '利用PolyLine函数绘图
    
    If Flag2 Then
        Pos(i).x = x
        Pos(i).y = y
        If (i >= 3) Then
            PolylineTo Me.Picture1.hdc, Pos(0), 3
            Me.Picture1.Circle (x, y), 3
            i = 0
            Exit Sub
        End If
    End If
    '利用PolyLineTo函数绘图
    If (i <= 3) Then
        i = i + 1
        Me.Picture1.Circle (x, y), 3
    End If
    End Sub
  • 相关阅读:
    学号20155308 2016-2017-2 《Java程序设计》第6周学习总结
    学号20155308 2016-2017-2 《Java程序设计》第5周学习总结
    # 学号20155308 2006-2007-2 《Java程序设计》第4周学习总结
    学号20155308 2006-2007-2 《Java程序设计》第3周学习总结
    第二周作业--20155308郝文菲
    20155308郝文菲
    20155308郝文菲--第三次作业
    郝文菲get技能的经验--20155308
    第一篇博客
    20155302杨效宸第三次随笔
  • 原文地址:https://www.cnblogs.com/delphi2014/p/4026859.html
Copyright © 2011-2022 走看看