关于窗口位置的问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:54:49
有Form1跟Form2两个无边框窗口
我在Form1中用SetParent把Form2设为Form1的子窗体,
代码如下:

Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Private Sub Form_Load()
SetParent Form2.hwnd, Me.hwnd
End sub

我想问,把Form2设为Form1的子窗体后,应该如何调整Form2的位置?
让Form2的Top为3000(相对于Form1),Left为75(相对于Form1)
=====================================================================
=====================================================================
xiaoanpeng,要是有那么容易我就不用来这里问题了,你自己试一下吧

*********************************************************************
comeonbady的代码跟xiaoanpeng的没什么区别啊

这样吧,在Form1中添加一个图片框,把Top设为3000

然后再用comeonbady或xiaoanpeng的代码,看看form2的top是不是跟图片框的top是一样的
大家就明白了。

不能分开设置属性,要用Move方法同时设置……
原因跟内部实现代码有关,就不解释了……
Private Sub Command1_Click()
Form2.Move 75, 3000
Form2.Show
End Sub

在你的Form1中直接操作就OK了
比如在Form1中的command1执行
Private Sub Command1_Click()
Form2.Top = 3000
Form2.Left = 75
Form2.Show
End Sub

Private Sub Command1_Click()
Form2.Top = 3000
Form2.Left = 75
Form2.Visible = True
End Sub
请注意 由于form1和form2无边框,建议你把form2的底色变一变,要不然你都看不到form2移动了没有