在vb中大小視窗的設定問題,怎麼樣在大視窗上面設定小視窗,而且小視窗還一直浮動,在大視窗之前 匿名使用者 1級 2011-06-08 回答

只能操作form2 其他窗體無法操作: form2。show 1

也可以透過API來控制:

Option Explicit

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)

Private Sub Command1_Click()

‘ 視窗置前

Dim myval

myval = SetWindowPos(form1。hwnd, -1, 0, 0, 0, 0, 3)

End Sub

Private Sub Command2_Click()

’視窗正常

Dim myval

myval = SetWindowPos(form1。hwnd, -2, 0, 0, 0, 0, 3)

End Sub

Private Sub Command3_Click()

‘視窗置後

Dim myval

myval = SetWindowPos(form1。hwnd, 1, 0, 0, 0, 0, 3)

End Sub

還有一些:

Option Explicit

’‘使指定視窗總在最前

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

Const HWND_TOPMOST = -1

Const SWP_NOMOVE = &H2

Const SWP_NOSIZE = &H1

Const SWP_NOZORDER = &H8

Sub SetFormTopmost(TheForm As Form)

SetWindowPos TheForm。hwnd, HWND_TOPMOST, 0, 0, 0, 0, _

SWP_NOZORDER + SWP_NOMOVE + SWP_NOSIZE

End Sub

Sub Form_Load()

SetFormTopmost Me ’‘只需要改動這裡,ME換成你想放在最前的窗體名

End Sub

在vb中大小視窗的設定問題,怎麼樣在大視窗上面設定小視窗,而且小視窗還一直浮動,在大視窗之前 匿名使用者 1級 2011-06-08 回答

VB6中的模式/無模式窗體及父窗體的概念

模式窗體的意義:

1。 可以始終獲得使用者焦點,意味著別的窗體將不能獲得使用者焦點;

2。 在不用API的前提下,始終顯示在其他窗體前方。

父窗體的意義:

1。 子窗體始終位於父窗體前方,即使父窗體獲得了焦點;

2。 父窗體最小化時,子窗體亦最小化;父窗體關閉時,子窗體亦關閉。

顯示一個窗體時,可以用Show()方法,例如:Form。Show

其實Show()方法是帶可選引數的,完整的函式定義為:

SomeForm。Show [style], [owner]

其中style就是是否為模式窗體:

vbModeless = 0 無模式窗體(預設)

vbModal = 1 模式窗體 :意味著這個窗體開啟後原來的窗體將不能相應使用者操作

其中owner就是是否指定父窗體:

省略 :沒有父窗體,那麼當前窗體和可以來回切換焦點,且獲得焦點的窗體會覆蓋另一個窗體。

指定一個,例如Me : 那麼當前窗體是父窗體,即將彈出的新窗體為當前窗體的子窗體。

舉例:

Form2。Show ’=Form2。Show 0

Form2。Show vbModal ‘=Form2。Show 1

Form2。Show vbModeless ’=Form2。Show 0

Form2。Show vbModal , Form1 ‘=Form2。Show 1, Form1

Form2。Show vbModeless , Form1 ’=Form2。Show 0, Form1

在vb中大小視窗的設定問題,怎麼樣在大視窗上面設定小視窗,而且小視窗還一直浮動,在大視窗之前 Q我吧 1級 2011-06-08 回答

我怎麼曉得