from MSDN:
Line Method Example
This example uses the Line method to draw concentric boxes on a form. To try this example, paste the code into the General section of a form. Then press F5 and click the form.Sub Form_Click ()
   Dim CX, CY, F, F1, F2, I   ' Declare variables
   ScaleMode = 3   ' Set ScaleMode to pixels.
   CX = ScaleWidth / 2   ' Get horizontal center.
   CY = ScaleHeight / 2   ' Get vertical center.
   DrawWidth = 8   ' Set DrawWidth.
   For I = 50 To 0 Step -2
      F = I / 50   ' Perform interim
      F1 = 1 - F: F2 = 1 + F   ' calculations.
      Forecolor = QBColor(I Mod 15)   ' Set foreground color.
      Line (CX * F1, CY * F1)-(CX * F2, CY * F2), , BF
   Next I
   DoEvents   ' Yield for other processing.
   If CY > CX Then   ' Set DrawWidth.
      DrawWidth = ScaleWidth / 25
   Else
      DrawWidth = ScaleHeight / 25
   End If
   For I = 0 To 50 Step 2   ' Set up loop.
      F = I / 50   ' Perform interim
      F1 = 1 - F: F2 = 1 + F   ' calculations.
      Line (CX * F1, CY)-(CX, CY * F1)   ' Draw upper-left.
      Line -(CX * F2, CY)   ' Draw upper-right.
      Line -(CX, CY * F2)   ' Draw lower-right.
      Line -(CX * F1, CY)   ' Draw lower-left.
      Forecolor = QBColor(I Mod 15)   ' Change color each time.
   Next I
   DoEvents   ' Yield for other processing.
End Sub

解决方案 »

  1.   

    就是在窗体的加载事件中可以判段是右键还是左键,然后可以分别用右键和左键来实现不同的功能,然后在Form_MouseDown中可以得到用户是否按了shift键,可以得到鼠标当前在窗体上的位置,然后在Form_MouseMove或是Form_MouseUp加入用line的绘图命令或是停止命令
      

  2.   

    要注意把窗体的AutoReDraw设为True
    要不然窗体刷新时图像会消失还要注意绘制完后,用Refresh方法刷新