zoukankan      html  css  js  c++  java
  • API学习笔记 LineTo 与 MoveToEx 怎么连线画图

    或许懂API的人觉得这个功能确实太简单了完全不值一提,但是正是这个原因太简单了很多会的人不愿意说,而初识API的人又不会。这就出现了一个小BUG。所以我写博客的原因是为了方便和我一样的菜鸟,大鸟们可以直接无视。

    我有一个疑惑是为什么博客园里面不开VB的专栏,难道正如有点人说的VB被淘汰了????但为什么还是有那么多人在用呢??

    我要求的功能是这样的,第一条线的终点的坐标就是第二条线起点的坐标,貌似就是传说中的连线吗?昨天初识API搞的我晕头转向,还好最后还是解决了。

    废话不多说贴代码:

    ,我是在窗口中写的API  所以定义为Private

    如果和我一样不是很明白API的小菜们,推荐大家去http://tieba.baidu.com/f?kz=626339029 看下。那里面讲的确实有意思。

    Option Explicit
    Private Declare Function MoveToEx Lib "gdi32.dll " (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, lpPoint As POINTAPI) As Long
    Private Declare Function LineTo Lib "gdi32.dll " (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
    Private Type POINTAPI
            X   As Long
            Y   As Long
    End Type
    Dim tempIsDb As Integer

    '这是我自定义的一个函数   其中注释快中的代码是我写死了的,用来测试效果。后面的for循环是我写的动态连线。大家可以把循环去掉

    Private Sub Draw()

            Dim lpPoint     As POINTAPI
            '设置起始点   (10,10)
            MoveToEx Picture1.hdc, 10, 10, lpPoint
           
           
    '        画一根在坐标(110,110)长度为100的直线
    '        LineTo Picture1.hdc, 110, 110
    '
    '        LineTo Picture1.hdc, 210, 110
    '
    ''        LineTo Picture1.hdc, 210, 30
           
           
            Dim i As Integer
            For i = 0 To arrNum - 1
           
               LineTo Picture1.hdc, dataArr(i).X, dataArr(i).Y
           Next
    End Sub

    Private Sub Form_Load()
      
        Call  Draw
      End Sub

  • 相关阅读:
    Redis源代码分析(十三)--- redis-benchmark性能測试
    kvm中运行kvm
    umount.nfs device busy day virsh extend diskSpace, attachDisk
    ultravnc
    openNebula dubug
    maintenance ShellScripts
    virsh VMI deploy data serial xml
    cloud computing platform,virtual authentication encryption
    基于C 的libvirt 接口调用
    storage theory
  • 原文地址:https://www.cnblogs.com/kingzx/p/2049586.html
Copyright © 2011-2022 走看看