コマンドとコントロール通知メッセージには、既定のハンドラーがありません。 したがって、これらの種類のメッセージについては、ハンドラーの名前付け規則が唯一の制約です。 コマンドまたはコントロール通知をハンドラーに対応付けるときは、[プロパティ] ウィンドウによって、コマンド ID またはコントロール通知コードに基づく名前が提案されます。 提案された名前をそのまま使うことも、一部変更することも、まったく別の名前にすることもできます。
名前付け規則では、どちらの種類のハンドラーでも、ユーザー インターフェイス オブジェクトがわかる名前を付けることになっています。 たとえば、[編集] メニューの [切り取り] コマンドのハンドラーは次のような名前にします。
afx_msg void OnEditCut();
[編集] メニューの [切り取り] コマンドはほとんどのアプリケーションで使われるため、コマンド ID として ID_EDIT_CUT がフレームワークによって既に定義されています。 定義済みのコマンド ID の一覧については、ファイル AFXRES.H を参照してください。 詳細については、「Standard Commands」を参照してください。
規約では、"My Button" というボタンからの BN_CLICKED 通知メッセージ ハンドラーは、次のような名前を付けることになっています。
afx_msg void OnBnClickedMybutton();
このコマンドは、アプリケーション固有のユーザー インターフェイス オブジェクトに相当するため、コマンド ID として IDC_MY_BUTTON を付けることもできます。
これらの種類のメッセージは、共に引数を持たず、戻り値も返しません。