Windows プログラミング ライブラリを参照して、最新のC++ および Visual C++ でマクロがどのような場所 (存在する場合) を持っているかをよりよく理解しようとしています。それらを使用していますか?
このブログ投稿で、 Google Chrome のマクロ用の WTL の使用 (とりわけ) について読んだことを覚えています。それらは MFC でも使用されています。これは、そのブログ投稿のマクロの例です。可能であれば詳細:
// CWindowImpl
BEGIN_MSG_MAP(Edit)
MSG_WM_CHAR(OnChar)
MSG_WM_CONTEXTMENU(OnContextMenu)
MSG_WM_COPY(OnCopy)
MSG_WM_CUT(OnCut)
MESSAGE_HANDLER_EX(WM_IME_COMPOSITION, OnImeComposition)
MSG_WM_KEYDOWN(OnKeyDown)
MSG_WM_LBUTTONDBLCLK(OnLButtonDblClk)
MSG_WM_LBUTTONDOWN(OnLButtonDown)
MSG_WM_LBUTTONUP(OnLButtonUp)
MSG_WM_MBUTTONDOWN(OnNonLButtonDown)
MSG_WM_MOUSEMOVE(OnMouseMove)
MSG_WM_MOUSELEAVE(OnMouseLeave)
MSG_WM_NCCALCSIZE(OnNCCalcSize)
MSG_WM_NCPAINT(OnNCPaint)
MSG_WM_RBUTTONDOWN(OnNonLButtonDown)
MSG_WM_PASTE(OnPaste)
MSG_WM_SYSCHAR(OnSysChar) // WM_SYSxxx == WM_xxx with ALT down
MSG_WM_SYSKEYDOWN(OnKeyDown)
END_MSG_MAP()
MSDN でマクロに関するこれらの 記事を読んだことがありますが、マクロの作成または回避のベスト プラクティスと、いつどこでマクロを使用するかについても取り上げようとしています。