VisualBasicでフォームを常に手前に表示するには

 この方法はサンプル・ファイルにも紹介されていますが、ここでは必要な部分だけを抜き出してみます。


※標準モジュールのGeneralに次のコードを記述します。


#If Win32 Then     ' 32 ビット版用の宣言
Declare Sub 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)
#Else         ' 16 ビット版用の宣言
Declare Sub SetWindowPos Lib "User" (ByVal h1%, ByVal h2%, ByVal X%, ByVal Y%, ByVal cx%, ByVal cy%, ByVal f%)
#End If


Global Const HWND_TOPMOST = -1
Global Const SWP_NOACTIVATE = &H10
Global Const SWP_SHOWWINDOW = &H40


※フォームモジュールの Form_Load の最後に次のコードを記述します。


Show         ' このフォームが hWnd を持つようにします。


※フォームモジュールの Form_Paint に次のコードを記述します。


SetWindowPos  frmCallDlls.hWnd, HWND_TOPMOST, frmCallDlls.Left / 15, _
        frmCallDlls.Top / 15, frmCallDlls.Width / 15, _
        frmCallDlls.Height / 15, SWP_NOACTIVATE Or SWP_SHOWWINDOW


※frmCallDllsには常に手前に表示するオブジェクト(フォームの名前)を記述します。


The following clause.

表紙に戻る