★绘制不一般的矩形★
vb吧
全部回复
仅看楼主
level 5
笑如咖啡 楼主
我们在使用windows的时候经常会选中多个文件我们经常有这样做---------按下鼠标左键。。。然后拖动鼠标。。。在这一瞬间。。。我们绘制了一个矩形。。。其边界是虚线的不知道如何实现这个操作
2007年06月01日 06点06分 1
level 6
代码虽然多了点,但能够画一个连续的矩形边框.每次先点一下,再拖动.Dim x0, y0Private Sub Form_Load()AutoRedraw = 1:ScaleMode = 3:BackColor = vbBlackEnd SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 Thenx0 = X: y0 = YEnd IfEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 ThenLine (x0 - 1, y0 - 1)-(X + 3, Y + 3), vbBlack, BFLine (x0 - 1, y0 - 1)-(X + 1, Y + 1), vbRed, BFLine (x0, y0)-(X, Y), vbBlack, BFEnd IfEnd Sub
2007年06月01日 07点06分 2
level 6
楼上的代码,根本就不对!这才是楼主要的效果:Option ExplicitDim oldX!, oldY!, startX!, startY!Private Sub Form_Load()Me.AutoRedraw = TrueMe.ScaleMode = 3Me.BackColor = 0Me.DrawMode = 6Me.DrawStyle = 2End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 Then Cls oldX = X oldY = Y startX = X startY = YEnd IfEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 Then Me.Line (oldX, oldY)-(startX, startY), , B Me.Line (startX, startY)-(X, Y), , B oldX = X oldY = YEnd IfEnd Sub
2007年06月01日 08点06分 3
level 6
哈哈,他是想要虚线效果,其实一个shape控件就可以搞定啦。我的确实存在bug....
2007年06月01日 09点06分 4
level 0
谢谢大家拉。。。效果很不错。。。再次感谢
2007年06月01日 10点06分 5
level 0
3楼 不要 CLS 行不行
2007年06月01日 10点06分 6
1