日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

主窗体设计

發(fā)布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 主窗体设计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

主窗體設(shè)計


? ? ? ? ? ?首先說明什么是MDI窗體,我就犯了一個很二的錯誤,直接添加了一個窗體把窗體上的所有東西都設(shè)計好了,最后發(fā)現(xiàn)想把它變成MDI窗體,總是實現(xiàn)不了,一查發(fā)現(xiàn),這個窗體是固有的,不是自己自定義添加的。


? ? ? ? ? ?添加MDI窗體,在工程中第二個即為添加MDI窗體,而且,一個工程中只允許有一個MDI窗體,如果添加了一個之后就不可以添加第二個,這一項就會變?yōu)榛疑?#xff0c;不可用。


? ? ? ? ? ?在MDI窗體上是無法直接添加控件的,添加的控件需要一個容器,因此,先添加一個picture控件,然后再在picture控件中添加各種控件,即可。

? ? ? ? ? 子窗體的顯示問題,主窗體設(shè)計好了之后,把其他所有的窗體的MDIchild屬性設(shè)置為true,login登陸窗體的MDIchild屬性不可以設(shè)置為true否則會報錯,如下

??????????????????????????????????????

? ? ? ? ? 調(diào)試報錯,flogin.show vbmodal,所以不要把login窗體的MDIchild屬性設(shè)置為true即可,這里在類模塊中把登陸窗體抽象為模式的,如果沒有抽象出來的話,應(yīng)該也可以設(shè)置為MDIchild窗體。

第一種顯示子窗體的方法,即在MDI窗體的所有MDIchild單擊事件中,添加代碼Picture1.Visible= False,以frmabout窗體為例如下

Private Subfrmaboutmenu_Click()

frmAbout.Show

Picture1.Visible = False

End Sub

? ? ? ? ? ? 但是這樣的效果并不好,只能顯示菜單項,MDI窗體中的所有的其他內(nèi)容都無法顯示出來,因為MDI窗體上的所有控件和外觀的設(shè)計都是添加在picture控件中的,所以一旦picture控件不可見,其上所添加的所有東西都不可見,效果如下


? ? ? ? ? ? 第二種顯示子窗體的方法,使用SetParent 函數(shù),在類模塊中添加該函數(shù),然后在MDI窗體的MDIchild窗體的單擊事件中添加代碼,以frmabout窗體為例,但是會報錯,如下

Private Subfrmaboutmenu_Click()

frmAbout.Show

SetParent frmAbout.hWnd,frmmain.hWnd

End Sub


解決辦法,把代碼改為如下所示,結(jié)果嘛就是perfect了。

Private Subfrmaboutmenu_Click()

frmAbout.Show

SetParent frmAbout.hWnd, Picture1.hWnd

End Sub




總結(jié)

以上是生活随笔為你收集整理的主窗体设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。