我想实现类似千千静听中的两个form挨着,拖动一个,别一个了跟着走。我在做播放器,需要LRC歌词窗口可以跟着主窗口走,下面的代码,在横向上总有一部分form重叠, 好像是窗体的实际宽度比我获取到的要宽啊,为什么呢?API都用了,居然不行
Private Sub MoveLRCForm() If frmLRC.WindowState = 0 Then Dim rectLRC As RECT GetWindowRect frmLRC.hwnd, rectLRC frmLRC.Left = Me.Left - frmLRC.ScaleWidth ‘用这句和下面那句是一样的效果 frmLRC.Left = Me.Left - Screen.TwipsPerPixelX * (rectLRC.Right - rectLRC.Left) ’这句也是一样 frmLRC.Top = Me.Top frmLRC.Height = Me.Height End If End Sub
几经搜索,找到了,原来win7对form做了一些改变。
http://www.vbforums.com/showthread.php?656662-RESOLVED-Get-Border-Width-form-Window