大家请注意:我是说:用“API” 动态在屏幕上画出 “红色” 的线!!也就是说“改变”这个API画出的直线的“颜色”:Private Declare Function Polyline Lib "gdi32" (ByVal hdc As Long, lpPoint As POINTAPI, ByVal nCount As Long) As Long '(这个API目前只能画黑线)谢谢哦~~~~
解决方案 »
- vb中如何放大缩小摄像头的显示窗口呢?
- 火星文是通过什么方法来替换的呢?
- 调用excel打印,速度其慢,是什么原因,高手请进!
- 请问在VB中winsock控件中的romotehost是怎么设的,写的本台机算机的名称,还是他所访问的数据库的名称。。
- 紧急求助,显示实际连接波特率高于设定的,造成通讯异常怎么办?
- 哪里有winsock控件的使用资料?
- 请问如何取出mshflexgrid中任意一单元格中的内容
- 急求一个用VB编写的图书管理程序!!答得好另有加分!时间紧迫!
- 一个imagelist赋给两个背景色不同的控件,怎样让imagelist中的icon背景色适应这两个不同背景色的控件
- VB里 的 winsock 在传输文件时最大限制是多少
- 关于SQL查询问题
- 困扰我公司程序员一个月的问题已有头绪,但这个问题困扰了我公司的程序员一年(有源码)
'用窗体来代替画线吧!将窗体的Caption=""
'ControlBox=False、BorderStyle=0、BackColor=VBRedOption ExplicitPrivate Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINTAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As LongPrivate Type POINTAPI
x As Long
y As Long
End TypePrivate Sub Form_Load()
Me.BackColor = vbRed
Me.Caption = ""
Call LineTo(200, 200, 300, 100)
Call SetWindowPos(Me.hWnd, -1, 0, 0, 0, 0, 3)
End SubPrivate Sub LineTo(ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long)
Dim tP(4) As POINTAPI
Dim lRgn As Long
If Y1 <> Y2 And X1 <> X2 Then
tP(0).x = X1
tP(0).y = Y1
tP(1).x = X2
tP(1).y = Y2
tP(2).x = X2 - 2
tP(2).y = Y2
tP(3).x = X1 - 2
tP(3).y = Y1
tP(4).x = X1
tP(4).y = Y1
lRgn = CreatePolygonRgn(tP(0), 5, 1)
Else
If X1 <> X2 Then
lRgn = CreateRectRgn(X1, Y1, X2, Y2 + 2)
Else
lRgn = CreateRectRgn(X1, Y1, X1 + 2, Y2)
End If
End If
SetWindowRgn Me.hWnd, lRgn, True
End Sub
啊,还有没有其它方法啊?比如用DirectX这类的。这个功能我已经用窗体做过的了。效果不好。我是打算给CS做一个瞄准镜,用盲狙的时候用的,因为屏幕上没有瞄准镜。