在边框较少的窗体周围绘制矩形

时间:2015-07-21 11:18:31

标签: vb6

我试图通过简单地在表格周围绘制线条来绘制边框较少形式的矩形,但问题是表格底部和表格左边的线条未绘制这是用于在Form_Paint上绘图的代码

 Line (0, 0)-(ScaleWidth, 0), vbWhite  ' work
 Line (0, 0)-(0, ScaleHeight), vbWhite ' work
 Line (ScaleWidth, 0)-(ScaleWidth, ScaleHeight), vbWhite ' not working
 Line (0, ScaleHeight)-(ScaleWidth, ScaleHeight), vbWhite ' not working

表单是可调整大小的,因此当我重新调整表单大小时,绘制矩形会产生问题

1 个答案:

答案 0 :(得分:2)

你有必要自己画线吗?您可以使用形状控件在 Form_Resize 中调整大小。

Private Sub Form_Resize()
  Call shp.Move(0, 0, Me.ScaleWidth, Me.ScaleHeight)
End Sub

线向远处绘制一个像素的原因可能与它基于0的事实有关,实际上你希望它将像素置于 ScaleWidth ,超出屏幕1个像素,因为 ScaleWidth 是基于' 1' .. 因此,如果您想自己绘制线条,可以使用以下内容(如果您的scalemode设置为缇(默认值)):

Line (0, 0)-(ScaleWidth - Screen.TwipsPerPixelX, ScaleHeight - Screen.TwipsPerPixelY), vbWhite, B