137.メニューのチェックマークをビットマップに変更する

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

今回のサンプルソースをダウンロードする方はこちらの「ダウンロード」を!


 < 説明 >
API関数のSetMenuItemBitmapsを使用します
SetMenuItemBitmaps =>メニューのチェックマークをビットマップに変更
  <引数>
     hMenu:メニューのハンドル
     nPosition:wFlagsで指定した値
     wFlags:定数(MF_××参照)
     hBitmapUnchecked:チェックしていない時のBMPのハンドル(0にすれば何も表示されない)
     hBitmapCheckeチェックしている時のBMPのハンドル
  @戻り値@
    正常終了0以外


< SAMPLE >
'ここではAPI関数と使用する独自関数だけにします。詳しい説明などはサンプルソースに記載しています。

'標準モジュール
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 SetMenuItemBitmaps Lib "USER32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long

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

'------------------------------------------------
'■関数名  CheckBMP
'■用途 メニューのチェックマークをBMPに変更する
'■引数
'   nhWmd   親ウインドウのハンドル
'   Position  メニューの項目番号(0〜)
'   UnCheck   チェックしていない時のBMPのハンドル
'   Check  チェックしている時のBMPのハンドル
'------------------------------------------------


Public Sub CheckBMP(nhWmd As Long, Position As Long, UnCheck As Long, Check As Long)

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

  hMen = GetMenu(nhWmd)
  SubMen = GetSubMenu(hMen, 0)
   Ret = SetMenuItemBitmaps(SubMen, Position, MF_BYPOSITION, UnCheck, Check)

End Sub





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

ホーム PV ランキング