最近有幸,又摸到了好久沒摸的 visual basic 6.0,
vb6.0 耶,記得大學的時候,上小賴老師的程式設計課程就是用vb6.0阿,超遙遠的!

這幾天都在寫 visual basic 6.0 的東西,有些問題真的頗困擾我,
讓mdi child form跑到最上面就是一個困擾我的問題點,找了一堆網站都找不到我想要的答案,
如果是vb.net,隨便丟一個 method 就可以解決了,vb6.0 就只能透過 api 了,而我對 api 又是超級不熟。
沒想到就在剛剛,讓我找到了,maybe 以後還是會用到,還是記錄下來吧!

1. 首先在 mdi parent form 的 code 最上面宣告的地方貼上:

Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long 

2. 接著開一個 module 貼上:

Public Const HWND_TOP = 0 '非永久置頂
Public Const HWND_BOTTOM = 1 '最底層
Public Const HWND_TOPMOST = -1 '永久性置頂
Public Const HWND_NOTOPMOST = -2 '解除永久性置頂
Public Const SWP_NOMOVE = &H2 '不必設定表單位置
Public Const SWP_NOSIZE = &H1 '不必設定表單大小

3. 接著只要在選單的地方加上這段 code:

SetWindowPos Form2.hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE

4. 完成。

以上資料參考程式設計俱樂部:willy69wu31804ac大大的說明
http://www.programmer-club.com.tw/ShowSameTitleN/vb/27697.html

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 浮雲 的頭像
    浮雲

    missice's Blog

    浮雲 發表在 痞客邦 留言(0) 人氣()