有两个类,都继承CPropertyPage,如下面
class CExpSettingPage : public CPropertyPage
class CNewExpSettingPage : public CPropertyPage
其中,CExpSettingPage 是以前已经存在的,CNewExpSettingPage是新生成的类,但是我在用ClassWizard察看的时候,却有一些疑问:
1. 在ClassWizard-〉Message Maps-〉Messages选项中当选择CExpSettingPage类时有OnKillActive消息,因此我就能借助向导生成消息函数。而当选择CNewExpSettingPage类时,没有OnKillActive消息,因此我就不能借助向导生成消息函数。虽然这个可以强行在.cpp .h中添加,但是感觉不爽,而且强行添加后,在Messages框中也没有反映,只是在Member Functions:中有所显示。
请问这是什么问题?
2. 难道继承同样的类,ClassWizard中默认的Message消息还有不一样的?

解决方案 »

  1.   

    1:虽然这个可以强行在.cpp .h中添加,但是感觉不爽,而且强行添加后,在Messages框中也没有反映,只是在Member Functions:中有所显示。
    请问这是什么问题?如:
    BEGIN_MESSAGE_MAP(CMenu2View, CView)
    //{{AFX_MSG_MAP(CMenu2View)
    ON_WM_CHAR()
    ON_COMMAND(IDM_PHONE1, OnPhone1)
    ON_COMMAND(IDM_PHONE2, OnPhone2)
    ON_COMMAND(IDM_PHONE3, OnPhone3)
    ON_COMMAND(IDM_PHONE4, OnPhone4)
    //}}AFX_MSG_MAP
    // Standard printing commands

    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()你把     ON_COMMAND(IDM_PHONE1, OnPhone1)
    ON_COMMAND(IDM_PHONE2, OnPhone2)
    ON_COMMAND(IDM_PHONE3, OnPhone3)
    ON_COMMAND(IDM_PHONE4, OnPhone4)
    这几个函数当你自己添加消息映射时放到
    //{{AFX_MSG_MAP(CMenu2View)
    //}}AFX_MSG_MAP
    这里面,而不是在外面,里面的VC6下显示是灰色的,2:感觉上不太可能
      

  2.   

    谢谢上面的朋友的回答。
    我的两个问题问题2是问题1的补充,基本上是一个。我试验了一下,好像跟工程下是否有*.clw有关,具体还是不甚明白,还有谁遇到过这种类似的情况没?
      

  3.   

    记得VC 6的Message Wizard中,可以选择Message Filter的Base Class,选择windows应该可以。
      

  4.   

    删除*.dsw,*.aps,*.dsw,*.ncb,按下CTRL+W,确定试一下