初学者的两个问题,请指点

tsqqq 2003-01-19 11:03:01
1.我有一个MDI窗体,背景我用一个picturebox,当MDI打开一个form时,这个form不能显示,原因是被picturebox遮住了,如果我用obj.zorder 0or1 方法的话可以设置其他控件的前后,但是窗体不行,请问怎么用代码把窗体它显示在picturebox的上面。
2.如何动态的改变MDI窗体内控件的大小和位置?就是当我最大化的时候,我想窗体上面的控件随之按照比例变化。
感谢!
...全文
2 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
skywolfY 2003-01-19
哦,忘了你第二个问题了
Private Sub MDIForm_Resize()
If MDIForm1.WindowState <> 1 Then
Dim ctrlTmp As Control
For Each ctrlTmp In MDIForm1.Controls
If TypeOf ctrlTmp Is PictureBox Then
Else

ctrlTmp.Width = MDIForm1.Width / 5
ctrlTmp.Height = MDIForm1.Height / 5
End If
Next ctrlTmp
End If
End Sub
回复
skywolfY 2003-01-19
不是被picturebox1遮住了,是在它的y方向下边
给你段代码
Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long


Option Explicit

Private Sub MDIForm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Form1.Show
SetParent Form1.hWnd, Picture1.hWnd
End Sub

Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
SetParent Form1.hWnd, MDIForm1.hWnd
Unload Form1
End Sub
记得关闭窗体时要设回其父窗体,不然会出错
回复
tsqqq 2003-01-19
to litaoa:
能不能给谢form_resize事件里的代码,谢谢
回复
litaoa 2003-01-19
1、看你说的应该是有一个mdi父窗体吧。你可以设置他的picture属性,这样就可以显示背景图片,并且也不会档着form了!
2、你在窗体的Form_Resize事件里,写入控制代码就可以了。
回复
suntt 2003-01-19
没弄明白
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7451

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告