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.