指定されたメニューバー、ドロップダウンメニュー、サブメニュー、ショートカットメニューの末尾にメニュー項目を追加します。
BOOL AppendMenuA( HMENU hMenu, // menu handle UINT uFlags, // option flags UINT_PTR uIDNewItem, // item ID LPCTSTR lpNewItem // item content );
USER32.DLL
項目を追加するメニューバー、ドロップダウンメニュー、サブメニュー、またはショートカットメニューのハンドルを指定します。
メニュー項目の表示および動作を指定するためのフラグを指定します。以下の値の組み合わせを指定することができます。
メニュー項目としてビットマップを使用します。lpNewItemパラメータにはビットマップのハンドルを指定します。
メニュー項目の横にチェックマークを表示します。
アプリケーションがSetMenuItemBitmaps関数を使用してチェックマークのビットマップを指定している場合には、メニュー項目の隣にチェック状態のビットマップを表示します。
メニュー項目を選択できないように無効にします。ただし、このフラグは項目をグレー表示にしません。
メニュー項目を選択可能となるように有効にし、グレー表示から戻します。
メニュー項目をグレー表示し、選択できないように無効にします。
メニューバーに項目を追加する場合、メニュー項目を新しい行に配置します。
ドロップダウンメニュー、サブメニュー、ショートカットメニューに項目を追加する場合、新しい列にメニュー項目を配置します。新しい列は元の列と垂直な線で区切られます。
メニューバーに項目を追加する場合、メニュー項目を新しい行に配置します。
ドロップダウンメニュー、サブメニュー、ショートカットメニューに項目を追加する場合、新しい列にメニュー項目を配置します。新しい列は元の列と垂直な線で区切られません。
項目がオーナードロー項目であると指定します。メニューが初めて表示される直前に、メニューを所有するウィンドウは
メッセージを受け取ります。その後、メニュー項目の表示を更新しなければならないときに、 メッセージがオーナーウィンドウに送信されます。メニュー項目がドロップダウンメニューまたはサブメニューを開く項目であることを示します。uIDNewItemパラメータにはドロップダウンメニューまたはサブメニューのハンドルを指定します。ドロップダウンメニュー項目をメニューバーに追加する場合や、サブメニューを開く項目をドロップダウンメニュー、サブメニュー、ショートカットメニューに追加する場合にこのフラグを使用します。
水平な区切り線を表示します。このフラグはドロップダウンメニュー、サブメニュー、ショートカットメニューにおいて使用されます。区切り線をグレー表示、無効表示、ハイライト表示することはできません。uIDNewItemおよびlpNewItemパラメータは無視されます。
メニュー項目がテキスト文字列であることを示します。lpNewItemパラメータは表示する文字列へのポインタです。
メニュー項目の横にチェックマークを表示しません。
アプリケーションがSetMenuItemBitmaps関数を使用してチェックマークのビットマップを指定している場合には、メニュー項目の隣にクリア状態のビットマップを表示します。
以下のフラグのグループは同時に指定することはできません。
新しいメニュー項目のIDを指定します。
uFlagsパラメータにMF_POPUPを指定した場合は、ドロップダウンメニューまたはサブメニューのハンドルを指定します。
新しいメニュー項目の内容を指定します。このパラメータは、uFlagsパラメータにMF_BITMAP, MF_OWNERDRAW, MF_STRINGのどのフラグが指定されているかによって、以下のように解釈されます。
ビットマップハンドルを指定します。
メニュー項目に関連する追加データを取得するためのアプリケーション定義値を指定します。この値は、メニュー作成時やメニュー表示の更新時に送信されるitemDataメンバに格納されます。
メッセージおよび メッセージのlParamパラメータが指す構造体の表示するテキストのヌル終端文字列へのポインタを指定します。
成功すると0以外の値が返ります。
失敗すると0が返ります。拡張エラー情報を取得するには、GetLastError関数を使います。
メニューを変更した場合は、そのメニューがウィンドウに表示されているかどうかに関わらず、アプリケーションはDrawMenuBar関数を呼び出さなければなりません
ビットマップ項目やオーナードロー項目を使用してキーボードアクセラレータが機能するようにするには、メニューのオーナーウィンドウで
メッセージを処理する必要があります。Windows 95 以降 / Windows NT 3.1 以降