tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^3: 親画面より常に前に表示。
投稿日: 2008/10/17(Fri) 23:49
投稿者Starfish
参考までに、APIで前面に表示する方法

Form2をForm1の手前に表示する例です。

Form2に以下のコードを記入してください。

Option Explicit
Dim mlngOrgHwndParent As Long

Private Sub Form_Load()
    mlngOrgHwndParent = SetWindowLong(Me.hwnd, GWL_HWNDPARENT, Form1.hwnd)
    
End Sub

Private Sub Form_Unload(Cancel As Integer)
Dim lngReturnValue As Long
    lngReturnValue = SetWindowLong(Me.hwnd, GWL_HWNDPARENT, mlngOrgHwndParent)

End Sub

APIの定義は、APIビューワからコピーしてください。

尚、SDKのドキュメントにあるようにこのような使い方は、勧められません。
VBのshowメソッドをお勧めします。

http://msdn.microsoft.com/ja-jp/library/cc411203.aspx

子ウィンドウの親を変更するときは、GWL_HWNDPARENT インデックスを指定して SetWindowLong 関数を呼び出すのではなく、SetParent 関数を使ってください。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。