134.メニューの項目を強調表示する

< 使用用途 >
メニューを操作する時に用いる


 < 説明 >
API関数のHiliteMenuItemを使用します
HiliteMenuItem =>メニューの項目を強調表示
  <引数>
    hWnd:ウインドのハンドル
    hMenu:メニューのハンドル
    wIDHiliteItem:wHiliteの値によって異なる
    wHilite:定数(MF_××参照)の組み合わせ
  @戻り値@
    正常終了0以外


< SAMPLE >
'ここではメニューの一番左の一番上の項目を強調表示する処理です。<注>メニューを各自用意してください
'標準モジュール
Public Declare Function GetMenu Lib "USER32" (ByVal hWnd As Long) As Long

Public Declare Function GetSubMenu Lib "USER32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

Public Declare Function HiliteMenuItem Lib "USER32" (ByVal hWnd As Long, ByVal hMenu As Long, ByVal wIDHiliteItem As Long, ByVal wHilite As Long) As Long

Public Const MF_BYPOSITION = &H400'メニューの項目番号(0〜)
Public Const MF_BYCOMMAND = &H0 'メニューのID

Public Const MF_HILITE = &H80'メニューの項目を強調表示
Public Const MF_UNHILITE = &H0'メニューの項目を強調表示しない

'ここからはフォーム内の処理です
Private Sub Command1_Click()

Dim hMen As Long
Dim SubMen As Long
Dim Ret As Long

  hMen = GetMenu(Form1.hWnd)
  SubMen = GetSubMenu(hMen, 0)
  Ret = HiliteMenuItem(Form1.hWnd, SubMen, 0, MF_BYPOSITION Or MF_HILITE)

End Sub





API 技術関連のページへ戻る

ホーム PV ランキング