围绕无边框形式绘制矩形

Draw Rectangle around border less form

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

 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

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

有什么理由需要你自己划清界限吗?您可以使用形状控件并在 Form_Resize.

中调整其大小
Private Sub Form_Resize()
  Call shp.Move(0, 0, Me.ScaleWidth, Me.ScaleHeight)
End Sub

Line 将一个像素绘制到很远的原因可能与它基于 0 的事实有关,实际上你希望它把像素放在位置 ScaleWidth,超出屏幕 1 个像素,因为 ScaleWidth 是“基于 1”的。 因此,如果您确实想自己画线,可以使用以下方法(如果您的比例模式设置为缇(默认值)):

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