那是做不到的 因為 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只能顯示在左上角
那是做不到的 因為 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只能顯示在左上角