あるMDI子フォームを「常に前面表示」したい


りこ  2005-05-06 20:07:41  No: 121479

ずみません、どうかご教授下さい〜っ
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
-----------------------------------------------------------------------------------------

どうか、助けて下さい。お願いします。


移動  2005-05-07 04:41:04  No: 121480

こちらに移動した模様。
http://www.gizshare.com/vbtomo/boards/vbqanda.php?do=spread&num=9287


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加