none
关于注释宏的问题 RRS feed

  • 常规讨论

  • 在孙鑫老师的《vc++深入详解》第六课有个电话本例子:
    首先创建新的menu菜单资源abc,添加菜单项1、2、3、4,然后通过classwizard为每个菜单项添加消息响应函数,注意ID号为IDM_PHONE1~IDM_PHONE4 。

    然后将菜单资源删除,此时只留下了代码;

    接着将view源文件中的消息映射移动到注释宏之外:
    BEGIN_MESSAGE_MAP(CMenu2View, CView)
    //{{AFX_MSG_MAP(CMenu2View)
    ON_WM_CHAR()

    //}}AFX_MSG_MAP
    // Standard printing commands
    ON_COMMAND(IDM_PHONE1, OnPhone1)
    ON_COMMAND(IDM_PHONE2, OnPhone2)
    ON_COMMAND(IDM_PHONE3, OnPhone3)
    ON_COMMAND(IDM_PHONE4, OnPhone4)
    ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
    ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
    ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
    END_MESSAGE_MAP()

    孙老师说一定要把消息映射放在注释宏外,我想问的是,为什么?不这样做也能运行啊。
    2009年2月26日 9:26

全部回复