情景回顾一:当要到资料后,就开始自己的机房收费系统,当时没想那么多,就在MDI窗体上加了资料的图片,然后就开始各种添加控件,当所有窗体都弄好的时候,就开始对自己窗体显示的位置有些不满意了,然后就把MDIChild的属性改成TRUE问题就出现了--
1、如果picure够大的话就出现在最上方
2、如果不能铺满整个电脑屏幕的话就出现在下面
问题解决:
1、首先声明SetParent函数
Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
'调用API函数 改变子窗体的父窗体
(API函数)
2、在主窗体的设计模式下click事件下面添加以下代码(以关于为例)
<span style="font-size:18px;"> Private Sub aboutMenu_Click() SetParent frmAbout.hwnd, Picture1.hwnd '改变子窗体的父窗体 frmAbout.Show '显示关于 End Sub </span>
picture1为控件的Name frmAbout为窗体的名称,这样的话窗体就能完美的显示在主窗体上了。
情景回顾二:1、最大化最小化按钮显示不出来
2、无法把窗体最小化到左下角,没办法自动最小化。
问题解决:
1、为了不让我的窗体在运行模式下被别人改动,我就把窗体的borderstyle设置成了3,结果改变MaxButton和MinButton属性为TRUE后没什么变化,后来仔细研究后把属 性改成了1,最小化和最大化的按钮是显示出来了。
2、因为当时为了美观,就把picture铺满了整个全屏,但是相应的问题也就出来了,这就是无法最小化到左下角的根源。让picuture最下方的横线显示在电脑屏幕上就ok了。 想让它自动最小化,看下面的代码:
Private Sub Form_Deactivate()
<span style="font-size:18px;"> '不在是活动窗口时发生 ' (0-正常,1-最小化,2-最大化) If Me.WindowState <> 1 Then Me.WindowState = 1 End If End Sub</span>这样你就能自动最小化窗体了。
问题越多越让人思考,越让人兴奋。