VB初心者質問スレ Part7
■ このスレッドは過去ログ倉庫に格納されています
0372デフォルトの名無しさん
NGNGこれって動くのですか?
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
次のプログラムでは、フォームが常に一番手前に表示されるようにします。
このプログラムを実行するには、MDI 子フォーム以外のフォームを作成し、
そのフォームに [メイン] という名前のメニューを作成します。
その下に [常に手前に表示] という名前のサブメニューを作成し、
その Name プロパティを mnuTopmost に設定します。
[プロジェクト] メニューの [標準モジュールの追加] をクリックして
新規の標準モジュールを作成します。
作成した標準モジュールに Declare ステートメントを貼り付け、
そのステートメントが途中で切れたり、改行されたりせずに、
1 行に収まっていることを確認します。
次に、フォーム モジュールのコード エディタ ウィンドウに
Sub プロシージャを貼り付け、F5 キーを押します。
' Windows API 関数の宣言。
' モジュールには必ずこのステートメントを記述する必要があります。
Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (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
' WIN32API.TXT に定義されている定数をいくつか設定します。
Const conHwndTopmost = -1
Const conHwndNoTopmost = -2
Const conSwpNoActivate = &H10
Const conSwpShowWindow = &H40
Private Sub mnuTopmost_Click ()
' メニューのチェック マークのオン/オフを切り替えます。
mnuTopmost.Checked = Not mnuTopmost.Checked
If mnuTopmost.Checked Then
' TopMost 属性をオンにします。
SetWindowPos hWnd, conHwndTopmost, 0, 0, 0, 0, conSwpNoActivate Or conSwpShowWindow
Else
' TopMost 属性をオフにします。
SetWindowPos hWnd, conHwndNoTopmost, 0, 0, 0, 0, conSwpNoActivate Or conSwpShowWindow
End If
End Sub
■ このスレッドは過去ログ倉庫に格納されています