タイトル | : Re^3: 親画面より常に前に表示。 |
記事No | : 13147 |
投稿日 | : 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 関数を使ってください。
|