ずみません、どうかご教授下さい〜っ
MIDフォームを初めて作っているのですが、
ある子フォームを常に前面に表示するには、どうすれば良いのでしょうか?
イメージはExcelの「Office アシスタント」みたいにしたいのです。
以下、APIのSetWindowPosを使ってみたコードですが、これでは上手く動かないんです。
-----------------------------------------------------------------------------------------
'APIの宣言
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
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Private Sub MDIForm_Load()
' MDIフォームを表示
MDIForm1.Show
MDIForm1.WindowState = vbMaximized
' 子フォームを表示
frmChild1.Show
frmChild2.Show
' ' Zオーダーを先頭に移動
' frmChild2.ZOrder vbBringToFront
'frmChild2常に前面に表示
SetWindowPos frmChild2.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
End Sub
-----------------------------------------------------------------------------------------
どうか、助けて下さい。お願いします。
こちらに移動した模様。
http://www.gizshare.com/vbtomo/boards/vbqanda.php?do=spread&num=9287
ツイート | ![]() |