vb,MDI的子窗体是一个模拟仿真显示区,要想通过改变分辨率大小使仿真区的大小跟着变化,应该怎样写代码

 我来答
匿名用户
2014-02-20
展开全部
那是做不到的

因为 MDI 程序中

子窗体实际上是位于 MDIClient 里

就是说 子窗体的父窗体 是 MDIClient
而 放置在MDI中 的 picturebox 和MDIClient是同一级的

层次结构
ThunderMDIForm--MDIForm1
--MDIClient
----ThunderFormDC--Form1 子窗体1
----ThunderFormDC--Form2 子窗体2
--ThunderPictureBoxDC MDI中 的 picturebox

如果硬要将子窗体放到上面

只能是

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

SetParent Form1.hWnd, MDIForm1.hWnd

这样就破坏了 Form1的消息循环,程序可以运行,但窗体效果就不对了

MDI主窗体中显示一个背景,是MDI自绘背景
图片应该绘制在MDIClient上,而不能加载picturebox
这个要通过回调才能实现

VB MDI 显示背景图
Private Sub MDIForm_Load()
Me.Picture = LoadPicture("c:\1.bmp")
End Sub

只能显示在左上角
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式